{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Matching Networks(Metrics Based Method): Omniglot Dataset\n",
    "\n",
    "In this tutorial, we will learn how to create Matching Networks, and train it on Omniglot Dataset.\n",
    "\n",
    "###### To begin, Let's first understand what Omniglot dataset is:\n",
    "\n",
    "The Omniglot data set is designed for developing more human-like learning algorithms. It contains 1623 different handwritten characters from 50 different alphabets. Each of the 1623 characters was drawn online via Amazon's Mechanical Turk by 20 different people. Each image is paired with stroke data, a sequences of [x,y,t] coordinates with time (t) in milliseconds. For more details, please refer : https://github.com/brendenlake/omniglot"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### Matching Networks Architecture\n",
    "\n",
    "Matching networks, in general, proposes a framework which learns a network that maps a small training dataset and test unlabeled example to same embeddings space. Matching networks aim to learn the proper embeddings representation of small training dataset and use differentiable k-NN with cosine similarity measure to ensure whether a test data point is something ever seen or not.\n",
    "\n",
    "Matching networks are designed to be two-fold:\n",
    "\n",
    "Modeling level: At Modeling level, they proposed Matching nets, which uses advances made in attention and memory that enable fast and efficient learning.\n",
    "\n",
    "Training procedure: At Training Level, they have one condition that distribution of training and test set must be the same. For example: show a few examples per class, switching the task from minibatch to minibatch, similar to how it will be tested when presented with a few examples of a new task.\n",
    "\n",
    "\n",
    "![Screen%20Shot%202019-05-15%20at%2011.10.18%20PM.png](Images/MatchingNetworks.png)\n",
    "\n",
    "\n",
    "As we have learned, Matching Networks Architecture implementation consists of following 5 important parts:\n",
    "\n",
    "1. Embeddings Extractor, g.\n",
    "2. Full Context Embeddings, Bi-directional LSTM, f\n",
    "3. Cosine Similarity Distance Function, c\n",
    "4. Attention Model: Softmax(c)\n",
    "5. Loss Function: Cross Entropy Loss"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "##### Step 1: Import all necessary libraries "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Requirement already satisfied: tqdm in /opt/anaconda3/envs/project09/lib/python3.6/site-packages\n",
      "\u001b[33mYou are using pip version 9.0.1, however version 20.0.2 is available.\n",
      "You should consider upgrading via the 'pip install --upgrade pip' command.\u001b[0m\n",
      "Requirement already satisfied: matplotlib in /opt/anaconda3/envs/project09/lib/python3.6/site-packages\n",
      "Requirement already satisfied: numpy>=1.7.1 in /opt/anaconda3/envs/project09/lib/python3.6/site-packages (from matplotlib)\n",
      "Requirement already satisfied: six>=1.10 in /opt/anaconda3/envs/project09/lib/python3.6/site-packages (from matplotlib)\n",
      "Requirement already satisfied: python-dateutil>=2.0 in /opt/anaconda3/envs/project09/lib/python3.6/site-packages (from matplotlib)\n",
      "Requirement already satisfied: pytz in /opt/anaconda3/envs/project09/lib/python3.6/site-packages (from matplotlib)\n",
      "Requirement already satisfied: cycler>=0.10 in /opt/anaconda3/envs/project09/lib/python3.6/site-packages (from matplotlib)\n",
      "Requirement already satisfied: pyparsing!=2.0.4,!=2.1.2,!=2.1.6,>=2.0.1 in /opt/anaconda3/envs/project09/lib/python3.6/site-packages (from matplotlib)\n",
      "\u001b[33mYou are using pip version 9.0.1, however version 20.0.2 is available.\n",
      "You should consider upgrading via the 'pip install --upgrade pip' command.\u001b[0m\n"
     ]
    }
   ],
   "source": [
    "!pip install tqdm\n",
    "!pip install matplotlib"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import torch\n",
    "import torch.nn as nn\n",
    "import math\n",
    "import numpy as np\n",
    "import torch.nn.functional as F\n",
    "from torch.autograd import Variable\n",
    "import tqdm\n",
    "import torch.backends.cudnn as cudnn\n",
    "from torch.optim.lr_scheduler import ReduceLROnPlateau\n",
    "import matplotlib.pyplot as plt\n",
    "%matplotlib inline "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### Step 2: We will load omniglot dataset, tranformed in .npy format using helper script.  \n",
    "In helper script, we are just loading data in size format: [total_number,character,28,28].                             \n",
    "for more details, go through helper.py script."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(1623, 20, 28, 28)\n",
      "<class 'numpy.ndarray'>\n",
      "(1200, 20, 28, 28, 1)\n"
     ]
    }
   ],
   "source": [
    "x = np.load('data/data.npy') # Load Data\n",
    "print (x.shape)\n",
    "print (type(x))\n",
    "x = np.reshape(x, newshape=(x.shape[0], x.shape[1], 28, 28, 1)) # expand dimension from (x.shape[0],x.shape[1],28,28)\n",
    "np.random.shuffle(x) # shuffle dataset\n",
    "x_train, x_val, x_test = x[:1200], x[1200:1411], x[1411:] # divide dataset in to train, val,ctest\n",
    "batch_size = 16 # setting batch_size\n",
    "n_classes = x.shape[0] # total number of classes\n",
    "classes_per_set = 20 # Number of classes per set\n",
    "samples_per_class = 1 # as we are choosing it to be one shot learning, so we have 1 sample\n",
    "print (x_train.shape)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "##### Preprocess Images: Here we have use normalization method. "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "def processes_batch(data, mu, sigma):\n",
    "    return (data - mu) / sigma\n",
    "\n",
    "# Normalize Dataset\n",
    "x_train = processes_batch(x_train, np.mean(x_train), np.std(x_train))\n",
    "x_val = processes_batch(x_val, np.mean(x_val), np.std(x_val))\n",
    "x_test = processes_batch(x_test, np.mean(x_test), np.std(x_test))\n",
    "\n",
    "# Defining dictionary of dataset\n",
    "datatset = {\"train\": x_train, \"val\": x_val, \"test\": x_test}"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Let's Visualize example of one character written by 20 people."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\nzG8czq11PJd/W29JemTxhcn6p6c9kaxPBOz5gaAIPxAU4QeCIvxAUIQfCIrwA0ERfiAoruefAA6N\n5I9XS9K7Fab4LlN7Ynrx6ZPqu2//0MjRZH3r4Rm5taOevnH/pVP2J+tnTpqSrJeF6/kBVET4gaAI\nPxAU4QeCIvxAUIQfCIrwA0FVvJ7fzLokPSBpnqQRSb3ufpeZ3SrpBkl7s5eucfdHG9VoZPWOh5+q\npk5K3w9g2dQjdXz31hzHL1I1N/M4Julr7v6smc2Q9IyZPZ7V7nD3bzauPQCNUjH87j4gaSB7/LaZ\n7ZC0oNGNAWisk/rMb2bdks6X9Mts0Y1m9ryZrTOzmTnvWWVmfWbWt3d/eookAM1TdfjNbLqkH0u6\nyd3fkvQdSedIWqzRI4Nvjfc+d+919x537+nsSJ9PDaB5qgq/mbVrNPg/cPefSJK773H3YXcfkXSv\npCWNaxNA0SqG38xM0n2Sdrj77WOWzx/zss9IerH49gA0SjV/7b9I0vWSXjCzbdmyNZJWmNliSS5p\np6T0/acBtJRq/tr/pKTxrg9mTB+YwDjDDwiK8ANBEX4gKMIPBEX4gaAIPxAU4QeCIvxAUIQfCIrw\nA0ERfiAowg8ERfiBoAg/EFRTp+g2s72SXh+zaLakfU1r4OS0am+t2pdEb7Uqsrez3L2zmhc2Nfzv\nWblZn7v3lNZAQqv21qp9SfRWq7J647AfCIrwA0GVHf7ektef0qq9tWpfEr3VqpTeSv3MD6A8Ze/5\nAZSklPCb2TIze9nMXjWzm8voIY+Z7TSzF8xsm5n1ldzLOjMbNLMXxyybZWaPm9kr2ddxp0krqbdb\nzWx3tu22mdmfldRbl5n91Mx2mNl2M/tqtrzUbZfoq5Tt1vTDfjNrk/Q/kq6QtEvS05JWuPtLTW0k\nh5ntlNTj7qWPCZvZJZIOSXrA3c/Llt0m6YC7r81+cc5099Ut0tutkg6VPXNzNqHM/LEzS0u6RtLn\nVeK2S/R1rUrYbmXs+ZdIetXdX3P3o5J+JGl5CX20PHffKunACYuXS1qfPV6v0R+epsvprSW4+4C7\nP5s9flvS8ZmlS912ib5KUUb4F0h6c8zzXWqtKb9d0mNm9oyZrSq7mXHMzaZNPz59+pyS+zlRxZmb\nm+mEmaVbZtvVMuN10coI/3iz/7TSkMNF7n6BpE9J+nJ2eIvqVDVzc7OMM7N0S6h1xuuilRH+XZK6\nxjx/v6T+EvoYl7v3Z18HJT2i1pt9eM/xSVKzr4Ml9/M7rTRz83gzS6sFtl0rzXhdRviflrTQzM42\ns8mSrpO0qYQ+3sPMpmV/iJGZTZN0pVpv9uFNklZmj1dK2lhiL7+nVWZuzptZWiVvu1ab8bqUk3yy\noYw7JbVJWufu/9j0JsZhZh/U6N5eGp3E9Idl9mZmD0laqtGrvvZIukXSv0raIOkDkt6Q9Fl3b/of\n3nJ6W6rRQ9ffzdx8/DN2k3u7WNITkl6QNJItXqPRz9elbbtEXytUwnbjDD8gKM7wA4Ii/EBQhB8I\nivADQRF+ICjCDwRF+IGgCD8Q1P8DRLUVpXVHKqYAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x12ae58860>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\ngqcA24ATYekAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x13a141ef0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\niLjO9uWSLpK054L3l0XEPaW/tT+P86M9L479X8Panzz/4eK2f3TEg8X66Ye80VZPv8j2ZZy/lYt5\n7Jb0qYh43PbbJD1m+/6qdm1EfL7dRgHUp2n4I2KzpM3V/Z2210qa3+vGAPTWPn3mt71Q0kmS9pwz\neontH9leZXvK8zxtr7Q9ant02/byabAA+qfl8Ns+VNI3JX0yIl6W9BVJx0paool3BldPtV1EjETE\ncEQMz5lVPk8cQP+0FH7b0zUR/Jsi4g5JiogtETEWEeOSvippae/aBNBtTcNv25Kul7Q2Iq6ZtHzy\n1LTnSnqy++0B6JVWvu1fJumjktbYfqJadpmk5baXSApJ6yVd3JMOsV+bPTSjYe32Yx7oYyfYWyvf\n9j8kaapxw+KYPoDBxhl+QFKEH0iK8ANJEX4gKcIPJEX4gaQIP5AU4QeSIvxAUoQfSIrwA0kRfiAp\nwg8kRfiBpPo6RbftbZKen7RotqQX+9bAvhnU3ga1L4ne2tXN3o6OiDmtrNjX8L9l5/ZoRAzX1kDB\noPY2qH1J9NauunrjbT+QFOEHkqo7/CM1779kUHsb1L4kemtXLb3V+pkfQH3qPvIDqEkt4bd9pu0f\n215n+9I6emjE9nrba2w/YXu05l5W2d5q+8lJy2bavt/2s9XtlNOk1dTb5bb/q3runrD9gZp6W2D7\ne7bX2n7K9p9Vy2t97gp91fK89f1tv+0hST+RdJqkjZIelbQ8Ip7uayMN2F4vaTgiah8Ttv1eSa9I\nujEiTqiWXSVpR0RcWb1wHhYRfzkgvV0u6ZW6Z26uJpSZN3lmaUnnSPoD1fjcFfo6XzU8b3Uc+ZdK\nWhcRz0XE65JulXR2DX0MvIh4UNKOvRafLWl1dX+1Jv7z9F2D3gZCRGyOiMer+zsl7ZlZutbnrtBX\nLeoI/3xJGyY93qjBmvI7JH3H9mO2V9bdzBTmVtOm75k+/fCa+9lb05mb+2mvmaUH5rlrZ8brbqsj\n/FPN/jNIQw7LIuJkSWdJ+kT19hataWnm5n6ZYmbpgdDujNfdVkf4N0paMOnxkZI21dDHlCJiU3W7\nVdKdGrzZh7fsmSS1ut1acz8/N0gzN081s7QG4LkbpBmv6wj/o5IW215k+0BJF0i6u4Y+3sL2jOqL\nGNmeIel0Dd7sw3dLWlHdXyHprhp7eZNBmbm50czSqvm5G7QZr2s5yacayviCpCFJqyLic31vYgq2\nj9HE0V6amMT05jp7s32LpFM08auvLZI+I+lbkm6XdJSkFyR9JCL6/sVbg95O0cRb15/P3LznM3af\ne3uPpO9LWiNpvFp8mSY+X9f23BX6Wq4anjfO8AOS4gw/ICnCDyRF+IGkCD+QFOEHkiL8QFKEH0iK\n8ANJ/T8pcOe94As/qQAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x13a1b6a58>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x13a1f7470>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x13a141f28>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\nTkSuQmCC\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x13a2695c0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\nGSoAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x13a2ac358>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAP8AAAD8CAYAAAC4nHJkAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4wLCBo\ndHRwOi8vbWF0cGxvdGxpYi5vcmcvpW3flQAADqFJREFUeJzt3XuMVOd5x/Hfw7KwhnVU7t7CAolF\nXQjEpNpSt8SWK8u3NhJESaiRFWEp8RrZVLHiKqZO1VhR21h248sfrVscNoYqIYkUO0YqiuPSNMRp\na3vtOsYYXxBaGwpl12CHi+MLu0//2EO0wXveHWbOzBn8fD8S2tnznDPzMLu/PTPznnNec3cBiGdc\n2Q0AKAfhB4Ii/EBQhB8IivADQRF+ICjCDwRF+IGgCD8Q1PhGPtj0qS0+v7O1kQ8JhNK37z29fmTQ\nKlm3pvCb2VWS7pPUIumb7n5Hav35na168tHOWh4SQMKyK/dVvG7VL/vNrEXSP0i6WtIiSavNbFG1\n9wegsWp5z79M0h533+vu70r6rqQVxbQFoN5qCf9sSSNfY+zPlv0GM+s2s14z6x04PFjDwwEoUi3h\nH+1DhfedH+zuG9y9y927ZkxrqeHhABSplvDvlzTy07s5kg7U1g6ARqkl/E9JWmBmHzazCZKukbS1\nmLYA1FvVQ33uftLM1kl6VMNDfT3uvquwzgDUVU3j/O6+TdK2gnoB0EAc3gsERfiBoAg/EBThB4Ii\n/EBQhB8IivADQRF+ICjCDwRF+IGgCD8QFOEHgiL8QFCEHwiK8ANBEX4gKMIPBEX4gaAIPxAU4QeC\nIvxAUA2dohuN96O3JibrN/782mT9wYt7kvVL2s64JTQJ9vxAUIQfCIrwA0ERfiAowg8ERfiBoAg/\nEFRN4/xm1ifpmKRBSSfdvauIplCcnxxbmKwv/Kv+ZP2ma25M1jfeeF+yvmxia7KO8hRxkM8fu/vr\nBdwPgAbiZT8QVK3hd0k/NrOnzay7iIYANEatL/uXu/sBM5sp6TEze9Hdd4xcIfuj0C1Jc2dzKgHQ\nLGra87v7gexrv6SHJS0bZZ0N7t7l7l0zprXU8nAAClR1+M1sspmde+q2pCskPV9UYwDqq5bX4bMk\nPWxmp+7nO+7+o0K6AlB3VYff3fdKurDAXlAH66f/Z7J+8X3XJ+tzvzKQrF/X9sVk/ckb7s6ttY/j\nYgBlYqgPCIrwA0ERfiAowg8ERfiBoAg/EBTH237ATWmZlKz/zx9sTtaXrF6XrM/fejRZf+K6ybm1\ny84ZTG6L+mLPDwRF+IGgCD8QFOEHgiL8QFCEHwiK8ANBMc4fXKulr6408WNvJuvjtpxM1t8czB/n\nl9LHCKC+2PMDQRF+ICjCDwRF+IGgCD8QFOEHgiL8QFCM8yOpZdxQ2S2gTtjzA0ERfiAowg8ERfiB\noAg/EBThB4Ii/EBQY47zm1mPpE9K6nf3xdmyqZK+J2m+pD5Jq9z9jfq1iXp5a+jdZP3Ec1OT9aFJ\n6XPyJ49754x7QmNUsud/UNJVpy1bL2m7uy+QtD37HsBZZMzwu/sOSUdOW7xC0qbs9iZJKwvuC0Cd\nVfuef5a7H5Sk7OvM4loC0Ah1/8DPzLrNrNfMegcOMzcb0CyqDf8hM+uQpOxrf96K7r7B3bvcvWvG\ntPTFIgE0TrXh3yppTXZ7jaRHimkHQKOMGX4z2yLpvyRdYGb7zezzku6QdLmZvSLp8ux7AGeRMcf5\n3X11TumygntBlQY9/5z7l997O7ntn+5Yl6wv7DmYrL/w5fRnvZe0HUtUJyS3RX1xhB8QFOEHgiL8\nQFCEHwiK8ANBEX4gKC7d/QHw5wf+KLf2i7uWJrdd+PPXkvU9a+cl6/929V3J+qRx7ck6ysOeHwiK\n8ANBEX4gKMIPBEX4gaAIPxAU4QeCYpy/CaROyZWkL/9fV7L+wl8vya21Hz6R3PZYz8Rk/T8Wpsfx\nO8Yzjn+2Ys8PBEX4gaAIPxAU4QeCIvxAUIQfCIrwA0Exzt8AtY7j71r70fT9d+b/DV98/67ktnee\n15ust1h6HP/4UPrS4I+cmJ1bu6jt1eS257dyDEE9secHgiL8QFCEHwiK8ANBEX4gKMIPBEX4gaDG\nHOc3sx5Jn5TU7+6Ls2W3S7pe0kC22m3uvq1eTTa7Xw79Kllf8ULeLOfD2r5ybrI+2Jb+Md18x5bc\n2qfbjya3rfXv/0/f/q1k/VtrV+TW/nn9G8ltdyx5uKqeUJlKfvIPSrpqlOX3uPvS7F/Y4ANnqzHD\n7+47JB1pQC8AGqiW13zrzOw5M+sxsymFdQSgIaoN//2Szpe0VNJBSd/IW9HMus2s18x6Bw4PVvlw\nAIpWVfjd/ZC7D7r7kKQHJC1LrLvB3bvcvWvGtJZq+wRQsKrCb2YdI779lKTni2kHQKNUMtS3RdKl\nkqab2X5JX5V0qZktleSS+iTdUMceAdTBmOF399EGqTfWoZemljonf/mTX0huO+8v0tfOH7g4fd76\n765Nn5O/cvKbiWp9j+Ma9PT9tw68lVvb++Ks9H0vTl8HocU4Rq0WPHtAUIQfCIrwA0ERfiAowg8E\nRfiBoLh0d4W+fnhRbq3za57ctu/PfjtZ37r2zmR97EtYl/c3fMmE/mT9xPkfyq39zuZjyW3/5crz\nkvXrPpR+bKSx5weCIvxAUIQfCIrwA0ERfiAowg8ERfiBoBjnr9BDfRfm1jqO5p+2Kkmfv/a/k/Wz\neSrqn/7qI8l6+55f5tYGd72U3Pbef/xMsv77X8q9epwk6aMTzknWo2PPDwRF+IGgCD8QFOEHgiL8\nQFCEHwiK8ANBMc5fAJ/YmqzPm/B6gzop3v6Tx5P1ux+4MVmf4/n/9713/mFy2wUb0+frr2q/JVl/\nNHGdhDnjz95jK4rCnh8IivADQRF+ICjCDwRF+IGgCD8QFOEHghpznN/MOiVtlnSepCFJG9z9PjOb\nKul7kuZL6pO0yt3fqF+r5Zo2Of+cfUufzq9vHVierK9c8K/Jej2non5jMN38xdu+lKwv3JQ+J3/3\n1/PP99959T3JbS9fcm2yPm57sqwjQ/m/3nPSm4ZQyW/VSUm3uPtCSRdJusnMFklaL2m7uy+QtD37\nHsBZYszwu/tBd38mu31M0m5JsyWtkLQpW22TpJX1ahJA8c7o9aSZzZf0cUlPSJrl7gel4T8QkmYW\n3RyA+qk4/GbWLukHkm5296NnsF23mfWaWe/A4cFqegRQBxWF38xaNRz8b7v7Q9niQ2bWkdU7JI16\nFoa7b3D3LnfvmjGtpYieARRgzPCbmUnaKGm3u989orRV0prs9hpJjxTfHoB6Mff09NJm9glJP5O0\nU8NDfZJ0m4bf939f0lxJr0n6rLsfSd1X14Vt/uSjnbX2XIpn33knt/aFv7k5ue30Z9Pvkl7qnpSs\nT56RHo67ct7u3Fr7+Py+JWnzMxcl64u+lj4d+aWbOpL1hz5zb27tYxPaktu+5+m3iceH0v+3KS3p\n5/WDaNmV+9T7i7etknXHHOd398cl5d3ZZWfSGIDmwRF+QFCEHwiK8ANBEX4gKMIPBEX4gaC4dHeF\nlk6cmFv7u7/8ZnLbW++5Plm/4J/yp7GWpJYj6eMEXtTs/KKlh3wXnngtWd/3uQXJ+r+vyr88tiTN\nreES2a2WPiI04jh+kdjzA0ERfiAowg8ERfiBoAg/EBThB4Ii/EBQjPMX4IpJ7yXri25Nj4W/ejI9\nXv34iQuS9ZdPzErWU8aPS58zf9fMbyTrtYzjo1zs+YGgCD8QFOEHgiL8QFCEHwiK8ANBEX4gKMb5\nG2DOGGPhc8b4KSxveyW9wrQx6jU5p473jTKx5weCIvxAUIQfCIrwA0ERfiAowg8ERfiBoMYMv5l1\nmtlPzGy3me0ysy9my283s/81s2ezf39S/3YBFKWSg3xOSrrF3Z8xs3MlPW1mj2W1e9z97+vXHoB6\nGTP87n5Q0sHs9jEz2y2lpogBcDY4o/f8ZjZf0sclPZEtWmdmz5lZj5lNydmm28x6zax34HD6klEA\nGqfi8JtZu6QfSLrZ3Y9Kul/S+ZKWaviVwagXe3P3De7e5e5dM6al514D0DgVhd/MWjUc/G+7+0OS\n5O6H3H3Q3YckPSBpWf3aBFC0Sj7tN0kbJe1297tHLO8YsdqnJD1ffHsA6qWST/uXS/qcpJ1m9my2\n7DZJq81sqSSX1Cfphrp0CKAuKvm0/3FJo03yvq34dgA0Ckf4AUERfiAowg8ERfiBoAg/EBThB4Ii\n/EBQhB8IivADQRF+ICjCDwRF+IGgCD8QFOEHgjJ3b9yDmQ1IenXEoumSXm9YA2emWXtr1r4keqtW\nkb3Nc/cZlazY0PC/78HNet29q7QGEpq1t2btS6K3apXVGy/7gaAIPxBU2eHfUPLjpzRrb83al0Rv\n1Sqlt1Lf8wMoT9l7fgAlKSX8ZnaVmb1kZnvMbH0ZPeQxsz4z25nNPNxbci89ZtZvZs+PWDbVzB4z\ns1eyr6NOk1ZSb00xc3NiZulSn7tmm/G64S/7zaxF0suSLpe0X9JTkla7+wsNbSSHmfVJ6nL30seE\nzewSScclbXb3xdmyOyUdcfc7sj+cU9z91ibp7XZJx8ueuTmbUKZj5MzSklZKuk4lPneJvlaphOet\njD3/Mkl73H2vu78r6buSVpTQR9Nz9x2Sjpy2eIWkTdntTRr+5Wm4nN6agrsfdPdnstvHJJ2aWbrU\n5y7RVynKCP9sSftGfL9fzTXlt0v6sZk9bWbdZTczilnZtOmnpk+fWXI/pxtz5uZGOm1m6aZ57qqZ\n8bpoZYR/tNl/mmnIYbm7/56kqyXdlL28RWUqmrm5UUaZWbopVDvjddHKCP9+SZ0jvp8j6UAJfYzK\n3Q9kX/slPazmm3340KlJUrOv/SX382vNNHPzaDNLqwmeu2aa8bqM8D8laYGZfdjMJki6RtLWEvp4\nHzObnH0QIzObLOkKNd/sw1slrclur5H0SIm9/IZmmbk5b2ZplfzcNduM16Uc5JMNZdwrqUVSj7v/\nbcObGIWZfUTDe3tpeBLT75TZm5ltkXSphs/6OiTpq5J+KOn7kuZKek3SZ9294R+85fR2qYZfuv56\n5uZT77Eb3NsnJP1M0k5JQ9ni2zT8/rq05y7R12qV8LxxhB8QFEf4AUERfiAowg8ERfiBoAg/EBTh\nB4Ii/EBQhB8I6v8BPY8Gds8BlRoAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x13a2e2ef0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x13a280b70>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\nQmCC\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x13a359b00>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAP8AAAD8CAYAAAC4nHJkAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4wLCBo\ndHRwOi8vbWF0cGxvdGxpYi5vcmcvpW3flQAADmtJREFUeJzt3X9sXfV5x/HPEzckNElbEjvBc8wC\nKP1BaWvGVcQUilJ1FIpKA11hpFWbbtWMWNnK2lEYnQTbugxNLZBCheqUKGGlQCtgpBMaZahtCGKA\nYSkJDRSGMuLExPmB1kQBQuxnf/ikMsHne2/ur3Pt5/2SLF+f5xyfh0s+Pvfc77nna+4uAPFMKboB\nAMUg/EBQhB8IivADQRF+ICjCDwRF+IGgCD8QFOEHgnpHM3fWPrvNF3RPbeYugVC2bntTu/cOWyXr\n1hR+MztX0kpJbZJ+4O7Xp9Zf0D1VTzzYXcsuASQsOmdbxetW/bLfzNokfU/SJyWdImmZmZ1S7e8D\n0Fy1nPMvkvSiu7/k7gcl3SVpaX3aAtBotYS/S9LY1xgD2bK3MLNeM+s3s/5de4Zr2B2Aeqol/OO9\nqfC2zwe7e5+7l9y91DGnrYbdAainWsI/IGnsu3fzJe2orR0AzVJL+J+UtNDMTjSzYyRdImldfdoC\n0GhVD/W5+yEzu1zSgxod6lvt7s/WrTMADVXTOL+7PyDpgTr1AqCJuLwXCIrwA0ERfiAowg8ERfiB\noAg/EBThB4Ii/EBQhB8IivADQRF+ICjCDwRF+IGgCD8QFOEHgiL8QFCEHwiK8ANBEX4gKMIPBEX4\ngaAIPxAU4QeCIvxAUIQfCIrwA0ERfiAowg8ERfiBoGqapdfMtkraJ2lY0iF3L9WjKbSON/zNZH3g\n0BvJ+ry2/H9iM6dMr6on1EdN4c98zN131+H3AGgiXvYDQdUafpf0MzN7ysx669EQgOao9WX/Ynff\nYWZzJT1kZs+5+/qxK2R/FHol6YSuepxlAKiHmo787r4j+z4k6T5Ji8ZZp8/dS+5e6pjTVsvuANRR\n1eE3sxlmNuvwY0mfkLS5Xo0BaKxaXofPk3SfmR3+PT9y9/+oS1cAGq7q8Lv7S5I+UsdeUIADIweT\n9dMf+3Ky3rlqWrJ+8j9uya2t6n40uS0ai6E+ICjCDwRF+IGgCD8QFOEHgiL8QFBcbxvcNwY/mqyf\ndNW+ZH37p2Yl61969/NH3ROagyM/EBThB4Ii/EBQhB8IivADQRF+ICjCDwTFOP8k9+rwgWR9w+2n\nJ+vv+UD61t1r/vrGZL1nWvojvygOR34gKMIPBEX4gaAIPxAU4QeCIvxAUIQfCIpx/knua9vPSda7\nfjqQrG+7aUayzjj+xMWRHwiK8ANBEX4gKMIPBEX4gaAIPxAU4QeCKjvOb2arJX1K0pC7n5otmy3p\nbkkLJG2VdLG7v9q4NpGy/vX82gvfPiW9cSldvrPnpjJ7P7ZMHa2qkiP/GknnHrHsakkPu/tCSQ9n\nPwOYQMqG393XS9p7xOKlktZmj9dKuqDOfQFosGrP+ee5+6AkZd/n1q8lAM3Q8Df8zKzXzPrNrH/X\nnuFG7w5AhaoN/04z65Sk7PtQ3oru3ufuJXcvdcxpq3J3AOqt2vCvk7Q8e7xc0v31aQdAs5QNv5nd\nKekxSe8zswEz+7Kk6yWdbWYvSDo7+xnABFJ2nN/dl+WUPl7nXsI6MHIwWb/51Q8m6z/57h/l1uY+\nuzu5bffa9Of5P3gM4/iTFVf4AUERfiAowg8ERfiBoAg/EBThB4Li1t1NcMPek5L1H9x15Icm32rB\n3a8k67Pb86fhHr7lteS2t3RtSNYlrsqcrDjyA0ERfiAowg8ERfiBoAg/EBThB4Ii/EBQjPPXwf6R\nxL2zJa1dlR7HP3Hd9mT911fNS9b/fsm9ubXPz8q9yZIkqc0Yx4+KIz8QFOEHgiL8QFCEHwiK8ANB\nEX4gKMIPBMU4fx286SPJ+oxX0vWBT3cl6y+ef0uy3mapv+H8fcf4+JcBBEX4gaAIPxAU4QeCIvxA\nUIQfCIrwA0GVDb+ZrTazITPbPGbZdWa23cw2Zl/nNbbNic2npL+mHEp/HdJw8guoRiVH/jWSxrsb\nxY3u3pN9PVDftgA0Wtnwu/t6SXub0AuAJqrlnP9yM3smOy04rm4dAWiKasN/q6STJfVIGpT0nbwV\nzazXzPrNrH/XHs5PgVZRVfjdfae7D7v7iKRVkhYl1u1z95K7lzrmcLNIoFVUFX4z6xzz44WSNuet\nC6A1lf1Ir5ndKWmJpHYzG5B0raQlZtYjySVtlXRpA3sE0ABlw+/uy8ZZfFsDepmwZk6ZlqzvXOzJ\n+vtXvpKs//FFn07W71m4Lrc2zaYmt21lzx58LVlf+uhfJOvDb+SfZt73se8lt+2Zlv5/OhlwhR8Q\nFOEHgiL8QFCEHwiK8ANBEX4gKG7dXQdTy0xz/a/n3Zqsf+OXlyXr7+7dnaz/1Q/Pyq19f/5jyW1b\n2WXPfy5ZP/nz/52sW+nU3Npzi49Pbtsz7dVkfTLgyA8ERfiBoAg/EBThB4Ii/EBQhB8IivADQTHO\n3wSLp6f/xl654o5k/buX/Umy/quVHbm1jd/6RXLbVv7o6o5n0mPx723/bbL+zhvzPyp94cyhMnuf\nuB+FrhRHfiAowg8ERfiBoAg/EBThB4Ii/EBQhB8IinH+FnDBjP3J+t/86Uiy/t6vvZRbu7TtiuS2\nn7nyP5P1q+a8kKw30jsHLVm3WTOT9c/OXZ9bm8i3NK8XjvxAUIQfCIrwA0ERfiAowg8ERfiBoAg/\nEFTZcX4z65Z0u6TjJY1I6nP3lWY2W9LdkhZI2irpYnef/Dc7L8B/nXVLsn7+mi/m1t614vXktg/9\n5UeT9U0rupL1FfP/PVlvn3JM/ra7T09u+3uP7EvWh3ekpza/duP5ubWLzlyT3LbNJv9xsZL/wkOS\nvu7uH5B0hqSvmNkpkq6W9LC7L5T0cPYzgAmibPjdfdDdn84e75O0RVKXpKWS1marrZV0QaOaBFB/\nR/XaxswWSDpN0uOS5rn7oDT6B0LS3Ho3B6BxKg6/mc2UdI+kK9w9ffO0t27Xa2b9Zta/a89wNT0C\naICKwm9mUzUa/Dvc/d5s8U4z68zqnZLGvSOiu/e5e8ndSx1z0hNaAmiesuE3M5N0m6Qt7n7DmNI6\nScuzx8sl3V//9gA0irl7egWzMyU9ImmTRof6JOkajZ73/1jSCZJelnSRu+9N/a7SR6b7Ew9219oz\njsLfDX0oWd/wzTOS9Rkbtyfr+0+bn6y/1p7/aq/98fTU4wdOfE+63pEeqX7Xy2/k1las/n5y20XT\nJuZHfheds039v3o9/VnoTNlxfnffICnvl338aBoD0Dom/5UMAMZF+IGgCD8QFOEHgiL8QFCEHwiK\nW3dPct+auylZX39zuv63v/lMsr7nifRVm8e+kj/k/Pw307fevvWMNcn6mp1nJuv/99n86ce/+twl\nyW03fPgnyfpk+MjvxP8vAFAVwg8ERfiBoAg/EBThB4Ii/EBQhB8IinH+4M6anq4/+uF7k/XhD6Wn\nDx9R/v0iplptd3aa3vnzZP0f3v9nuTX/Yf4txSVp6J8PJOud70hfozARcOQHgiL8QFCEHwiK8ANB\nEX4gKMIPBEX4gaAY50dNyn2uvZFzNP3htPT0b+fc/Mvc2u43ZyW3bW87tqqeJhKO/EBQhB8IivAD\nQRF+ICjCDwRF+IGgCD8QVNlxfjPrlnS7pOMljUjqc/eVZnadpD+XtCtb9Rp3f6BRjQJHKnc/gCtn\n/08Nv72RVyi0hkou8jkk6evu/rSZzZL0lJk9lNVudPdvN649AI1SNvzuPihpMHu8z8y2SOpqdGMA\nGuuozvnNbIGk0yQ9ni263MyeMbPVZnZczja9ZtZvZv279qQvxwTQPBWH38xmSrpH0hXu/ltJt0o6\nWVKPRl8ZfGe87dy9z91L7l7qmDP5z6OAiaKi8JvZVI0G/w53v1eS3H2nuw+7+4ikVZIWNa5NAPVW\nNvxmZpJuk7TF3W8Ys7xzzGoXStpc//YANEol7/YvlvQFSZvMbGO27BpJy8ysR5JL2irp0oZ0CKAh\nKnm3f4Ok8SZZZ0wfmMC4wg8IivADQRF+ICjCDwRF+IGgCD8QFOEHgiL8QFCEHwiK8ANBEX4gKMIP\nBEX4gaAIPxCUuXvzdma2S9L/jlnULml30xo4Oq3aW6v2JdFbterZ2++7e0clKzY1/G/buVm/u5cK\nayChVXtr1b4keqtWUb3xsh8IivADQRUd/r6C95/Sqr21al8SvVWrkN4KPecHUJyij/wAClJI+M3s\nXDN73sxeNLOri+ghj5ltNbNNZrbRzPoL7mW1mQ2Z2eYxy2ab2UNm9kL2fdxp0grq7Toz2549dxvN\n7LyCeus2s5+b2RYze9bMvpotL/S5S/RVyPPW9Jf9ZtYm6TeSzpY0IOlJScvc/ddNbSSHmW2VVHL3\nwseEzewsSfsl3e7up2bL/kXSXne/PvvDeZy7X9UivV0naX/RMzdnE8p0jp1ZWtIFkr6kAp+7RF8X\nq4DnrYgj/yJJL7r7S+5+UNJdkpYW0EfLc/f1kvYesXippLXZ47Ua/cfTdDm9tQR3H3T3p7PH+yQd\nnlm60Ocu0Vchigh/l6RtY34eUGtN+e2SfmZmT5lZb9HNjGNeNm364enT5xbcz5HKztzcTEfMLN0y\nz101M17XWxHhH2/2n1Yacljs7n8g6ZOSvpK9vEVlKpq5uVnGmVm6JVQ743W9FRH+AUndY36eL2lH\nAX2My913ZN+HJN2n1pt9eOfhSVKz70MF9/M7rTRz83gzS6sFnrtWmvG6iPA/KWmhmZ1oZsdIukTS\nugL6eBszm5G9ESMzmyHpE2q92YfXSVqePV4u6f4Ce3mLVpm5OW9maRX83LXajNeFXOSTDWXcJKlN\n0mp3/6emNzEOMztJo0d7aXQS0x8V2ZuZ3SlpiUY/9bVT0rWS/k3SjyWdIOllSRe5e9PfeMvpbYlG\nX7r+bubmw+fYTe7tTEmPSNokaSRbfI1Gz68Le+4SfS1TAc8bV/gBQXGFHxAU4QeCIvxAUIQfCIrw\nA0ERfiAowg8ERfiBoP4fCeAEglTgM7UAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x13a39b6d8>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\nP7yh/s8DbQ/pAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x13a3dd390>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\nybfPya1dfO+byW0PXDctWX968uIyex9Wpl69xQcnJ+s/XPfZZH3NFT/IrV08dHhVPZ1OOMMPCIrw\nA0ERfiAowg8ERfiBoAg/EBSX7h4EenrfStb/btnXcmsTd2xMbjtlaU+yfs6Qxg3llbPst59O1i/+\n5vZkff0vJuZvO/RAVT2dTjjyA0ERfiAowg8ERfiBoAg/EBThB4Ii/EBQjPO3gPf8aLL+6Uf+Jlmf\n8r1f5ta23vWp5LYbLrw3WZeGlqk3zshh7yXrvQfS15X99oarc2vXzVye3PZMa0/WTwcc+YGgCD8Q\nFOEHgiL8QFCEHwiK8ANBEX4gKMb5W8DCXbOS9Y/e8z/J+s5v5H/v/ck/vzu57fAhI5L1In33448n\n63dPvyFZ75z3am7t8pU3Jrd94fIHk/XT4TwAjvxAUIQfCIrwA0ERfiAowg8ERfiBoAg/EFTZcX4z\nmyjpQUnnSTouaam732tmoyStlNQpqVvS9e5+qHGtDl5HvTdZ//WyTybrY0enrzH/7QX5Y9IfbW/d\ncfxDvW8n6wvX35KsX7jplWR9yNkjc2vn37Q3ue2n/u3Lyfq6P3goWW+3tmS9FVRy5D8m6TZ3v1jS\nH0q61cwukXS7pLXuPlXS2uwxgEGibPjdfY+7r8/uH5a0RdIESXMkrchWWyHp2kY1CaD+Tuk9v5l1\nSrpM0jpJ49x9j9T3C0LS2Ho3B6BxKg6/mY2U9Jikr7v7m6ew3QIz6zKzrn0H0u99ATRPReE3s3b1\nBf/H7n7i2xZ7zWx8Vh8vacAZH919qbuX3L3UMbr1PwQBoigbfjMzSfdL2uLui/uVVkuan92fL2lV\n/dsD0CiVfKV3pqR5kjaa2UvZskWS7pT0EzO7SdIOSV9sTIuD3xBZsn4kfyZpSVLHth3J+qIV+V9P\nfWB2+uvAN0/4z2S984z06G1vmb/bHTv+NLf26pqpyW0vuGtdsv7WnFKy/olFG3JrG+6altx27D+k\np0Xf/OixZH36ma3/Krds+N3951Luv/AV9W0HQLNwhh8QFOEHgiL8QFCEHwiK8ANBEX4gKC7d3QRt\nlv4d+9iNi5P1647flqxPWrkvt/bu99Lj9P8yLj1a62eX+Uqwe7J8/LXtubULO7Ylt33l7suT9VV/\ntiRZ/72hw3JrT373pdyaJN33+p8k6xe1p//egwFHfiAowg8ERfiBoAg/EBThB4Ii/EBQhB8IyrzM\nOG09laad5c8/VebL6/iQcpf+/sW7+dNF/+sbs5Lbrnv5omS97e3ajg+9o47m1u6Z+Why2yuHD3hx\nqA+MHHJWVT2dzmZcuVNdG95NX2Qhw5EfCIrwA0ERfiAowg8ERfiBoAg/EBThB4Li+/yDQLnpnmcN\nO55fm/Sz9A8vVy8U4/iNxJEfCIrwA0ERfiAowg8ERfiBoAg/EBThB4IqG34zm2hmz5rZFjPbbGZ/\nlS2/w8xeN7OXsj9XN75dAPVSyUk+xyTd5u7rzewjkl40s2ey2hJ3v6dx7QFolLLhd/c9kvZk9w+b\n2RZJExrdGIDGOqX3/GbWKekySeuyRQvN7GUzW25m5+Zss8DMusysa9+B9OWoADRPxeE3s5GSHpP0\ndXd/U9KPJE2RNF19rwy+P9B27r7U3UvuXuoYnT5HHUDzVBR+M2tXX/B/7O6PS5K773X3Xnc/Luk+\nSTMa1yaAeqvk036TdL+kLe6+uN/y8f1W+4KkTfVvD0CjVPJp/0xJ8yRtNLMT8xovkjTXzKZLcknd\nkm5pSIcAGqKST/t/Lmmg64CvqX87AJqFM/yAoAg/EBThB4Ii/EBQhB8IivADQRF+ICjCDwRF+IGg\nCD8QFOEHgiL8QFCEHwiK8ANBmbs3b2dm+yT9b79FYyTtb1oDp6ZVe2vVviR6q1Y9e7vQ3TsqWbGp\n4f/Qzs263L1UWAMJrdpbq/Yl0Vu1iuqNl/1AUIQfCKro8C8teP8prdpbq/Yl0Vu1Cumt0Pf8AIpT\n9JEfQEEKCb+ZXWVmr5jZVjO7vYge8phZt5ltzGYe7iq4l+Vm1mNmm/otG2Vmz5jZa9ntgNOkFdRb\nS8zcnJhZutDnrtVmvG76y34za5P0qqTZknZJekHSXHf/TVMbyWFm3ZJK7l74mLCZ/bGkI5IedPdL\ns2V3STro7ndmvzjPdfdvtkhvd0g6UvTMzdmEMuP7zywt6VpJX1GBz12ir+tVwPNWxJF/hqSt7r7N\n3d+X9IikOQX00fLc/TlJB09aPEfSiuz+CvX952m6nN5agrvvcff12f3Dkk7MLF3oc5foqxBFhH+C\npJ39Hu9Sa0357ZKeNrMXzWxB0c0MYFw2bfqJ6dPHFtzPycrO3NxMJ80s3TLPXTUzXtdbEeEfaPaf\nVhpymOnuvy/p85JuzV7eojIVzdzcLAPMLN0Sqp3xut6KCP8uSRP7PT5f0u4C+hiQu+/ObnskPaHW\nm31474lJUrPbnoL7+UArzdw80MzSaoHnrpVmvC4i/C9Immpmk8xsqKQbJK0uoI8PMbMR2QcxMrMR\nkj6n1pt9eLWk+dn9+ZJWFdjL72iVmZvzZpZWwc9dq814XchJPtlQxj9JapO03N2/0/QmBmBmk9V3\ntJf6JjF9qMjezOxhSbPU962vvZK+Jemnkn4i6QJJOyR90d2b/sFbTm+z1PfS9YOZm0+8x25yb38k\n6b8kbZR0PFu8SH3vrwt77hJ9zVUBzxtn+AFBcYYfEBThB4Ii/EBQhB8IivADQRF+ICjCDwRF+IGg\n/h95Qf/iTZot2wAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x13a3a4cc0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x13a448c50>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\nUUnX5q1oZv1mNmRmQ9t2jNW5OwBFqyv87r7F3cfcfb+k1ZL6EusOuHuvu/fOmN5Rb58AClZX+M1s\n9oSH50l6vph2ALRKLUN9t0o6U9KxZjYi6SpJZ5rZIkkuaVjS55vYI4AmqBp+d19eYfENTeilrY1N\nttzarv2cK1WPkX3psfbv3HR2sn78rseT9aPvfia3dv6RX0xuu+PD6fM+bj8r/b3/fVM6k/V2wP9a\nICjCDwRF+IGgCD8QFOEHgiL8QFBhvrr7g5PTQy/b//oXyfrs/p/l1i7Z81fJbU/7y2eT9euOfzRZ\nP/KIycl6mfZ6+pTtr78xL7e2+nuVLhb9f3NXv5Csv3jdGcn6lJ78ocTfuMeT2865I39oV5Ke+PDJ\nyXrflFeT9XbAkR8IivADQRF+ICjCDwRF+IGgCD8QFOEHggozzt9h6b9zP/rQjcn6Bbd9Jrf23lX7\nktuOnJf+isMzPnt5sj5tyeZkfVl3/qWrjRrdc3Sy/v07PpKsz/neltzaXOXXJGnDNfnnCEjS0+d8\nJVk/puPI3Nr/npE+r2PnWPr8hRMn5f/sce1/XG3/DgE0BeEHgiL8QFCEHwiK8ANBEX4gKMIPBGXu\n6euai9R72nv8yft7Wra/Vnlq955k/Y/vvyxZP+n29HkCk58bTjcwKf90DbP0denV+L50b5o5PVne\neEl+/W8/dWdy24umjibrncYMUAfrO+c1DT37y5p+6Rz5gaAIPxAU4QeCIvxAUIQfCIrwA0ERfiCo\nqtfzm1mPpJskHSdpv6QBd/+amU2TdLukOZKGJV3g7m80r9X29aEp6e/V3/ip9HTOG5ekzxP46paP\nJusvvzk1WW/EpCP2J+sXdT+SrC+fmj/fwRSrNo014/jNVMuRf5+kK9z9VElnSLrUzBZIulLSQ+4+\nT9JD2WMAh4iq4Xf3UXd/Oru/S9IGSd2Slkpak622RtKyZjUJoHjv6j2/mc2RdLqkJyTNcvdRafwP\nhKSZRTcHoHlqDr+ZHSXpTkmXu/ub72K7fjMbMrOhbTvS34sGoHVqCr+ZdWo8+De7+13Z4i1mNjur\nz5a0tdK27j7g7r3u3jtjOh/gAO2iavht/LKwGyRtcPeJX5e6VtKK7P4KSfcW3x6AZqnlq7sXS7pY\n0nozO/Ad0SslrZL0XTP7nKRNks5vTouHvmqXnn5g8nuT9dU9PymynRarNpyHslQNv7v/WFLe9cFn\nFdsOgFbhDD8gKMIPBEX4gaAIPxAU4QeCIvxAUIQfCIrwA0ERfiAowg8ERfiBoAg/EBThB4Ii/EBQ\nhB8IivADQRF+ICjCDwRF+IGgCD8QFOEHgiL8QFCEHwiK8ANBEX4gKMIPBEX4gaAIPxAU4QeCIvxA\nUFXDb2Y9ZvawmW0wsxfM7AvZ8qvN7Gdm9kz27+PNbxdAUSbVsM4+SVe4+9NmNlXSU2b2YFa7zt2v\naV57AJqlavjdfVTSaHZ/l5ltkNTd7MYANNe7es9vZnMknS7piWzRZWb2nJkNmtkxOdv0m9mQmQ1t\n2zHWULMAilNz+M3sKEl3Srrc3d+UdL2kkyQt0vgrg2srbefuA+7e6+69M6Z3FNAygCLUFH4z69R4\n8G9297skyd23uPuYu++XtFpSX/PaBFC0Wj7tN0k3SNrg7l+ZsHz2hNXOk/R88e0BaJZaPu1fLOli\nSevN7Jls2UpJy81skSSXNCzp803pEEBT1PJp/48lWYXSfcW3A6BVOMMPCIrwA0ERfiAowg8ERfiB\noAg/EBThB4Ii/EBQhB8IivADQRF+ICjCDwRF+IGgCD8QlLl763Zmtk3SqxMWHStpe8saeHfatbd2\n7Uuit3oV2dtvufuMWlZsafjfsXOzIXfvLa2BhHbtrV37kuitXmX1xst+ICjCDwRVdvgHSt5/Srv2\n1q59SfRWr1J6K/U9P4DylH3kB1CSUsJvZkvM7EUze9nMriyjhzxmNmxm67OZh4dK7mXQzLaa2fMT\nlk0zswfN7KXstuI0aSX11hYzNydmli71uWu3Ga9b/rLfzDokbZR0tqQRSeskLXf3/2xpIznMbFhS\nr7uXPiZsZr8n6S1JN7n7wmzZv0ja6e6rsj+cx7j7l9qkt6slvVX2zM3ZhDKzJ84sLWmZpD9Vic9d\noq8LVMLzVsaRv0/Sy+7+irvvkXSbpKUl9NH23P0xSTsPWrxU0prs/hqN/+dpuZze2oK7j7r709n9\nXZIOzCxd6nOX6KsUZYS/W9JrEx6PqL2m/HZJD5jZU2bWX3YzFczKpk0/MH36zJL7OVjVmZtb6aCZ\npdvmuatnxuuilRH+SrP/tNOQw2J3/21J50q6NHt5i9rUNHNzq1SYWbot1DvjddHKCP+IpJ4Jj0+Q\ntLmEPipy983Z7VZJd6v9Zh/ecmCS1Ox2a8n9/Eo7zdxcaWZptcFz104zXpcR/nWS5pnZXDObLOlC\nSWtL6OMdzKwr+yBGZtYl6WNqv9mH10pakd1fIeneEnv5Ne0yc3PezNIq+blrtxmvSznJJxvK+Kqk\nDkmD7v5PLW+iAjN7n8aP9tL4JKa3lNmbmd0q6UyNX/W1RdJVku6R9F1JJ0raJOl8d2/5B285vZ2p\n8Zeuv5q5+cB77Bb39ruSfiRpvaT92eKVGn9/Xdpzl+hruUp43jjDDwiKM/yAoAg/EBThB4Ii/EBQ\nhB8IivADQRF+ICjCDwT1f0bR/NQl0JeAAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x13a489828>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x13a4cc550>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x13a50d198>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAP8AAAD8CAYAAAC4nHJkAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4wLCBo\ndHRwOi8vbWF0cGxvdGxpYi5vcmcvpW3flQAAC4JJREFUeJzt3X+o1fUdx/HXq5uGWdvUriZm2cRG\nspGNg4y5DTexWf9YfxT5RziI3f4oWKw/FsGofwayrVp/rMZtXTLox4JqyZAtkcCCaN5E0uZaIa5M\n8ZqOZQxWXt/7436Nm97zo3O+53zP3fv5ADnnfr/fc8+bg0/Pbz+OCAHI55yqBwBQDeIHkiJ+ICni\nB5IifiAp4geSIn4gKeIHkiJ+IKlze3llF80diCWLZ/TyKoFUDrz/qT48Pu5Wju0oftvrJD0kaUDS\n7yNiU6Pjlyyeob/+ZXEnVwmggZU/fL/lY9t+2G97QNJvJV0rabmkDbaXt/v7APRWJ8/5V0p6NyL2\nR8Qnkp6RtL6csQB0WyfxL5I0+THGwWLb59gesj1qe/TosfEOrg5AmTqJf6oXFc76fnBEDEdELSJq\ng/MGOrg6AGXqJP6Dkia/eneJpEOdjQOgVzqJf6ekZbYvtz1T0s2StpQzFoBua/utvog4afsOSX/R\nxFt9IxHxVmmTAeiqjt7nj4itkraWNAuAHuLjvUBSxA8kRfxAUsQPJEX8QFLEDyRF/EBSxA8kRfxA\nUsQPJEX8QFLEDyRF/EBSxA8kRfxAUsQPJEX8QFLEDyRF/EBSxA8kRfxAUj1dohvt+dXxpQ33P/za\nD+ru27r2oYaXvXLm+W3NhOmPe34gKeIHkiJ+ICniB5IifiAp4geSIn4gqY7e57d9QNIJSeOSTkZE\nrYyh8Hkj+77dcP+Vd71dd9+unYsbX3bmsbZmwvRXxod8vh8RH5bwewD0EA/7gaQ6jT8kvWT7DdtD\nZQwEoDc6fdi/KiIO2Z4vaZvtv0fEjskHFP8oDEnSpYv4KgHQLzq654+IQ8XpmKQXJK2c4pjhiKhF\nRG1w3kAnVwegRG3Hb3u27QtPn5d0jaS9ZQ0GoLs6eRy+QNILtk//nqci4s+lTAWg69qOPyL2S7qq\nxFkA9BBv9QFJET+QFPEDSRE/kBTxA0kRP5AU8QNJET+QFPEDSRE/kBTxA0kRP5AU8QNJET+QFPED\nSRE/kBTxA0kRP5AU8QNJET+QFPEDSRE/kBTxA0kRP5AU8QNJET+QFPEDSRE/kBTxA0kRP5BU0/ht\nj9ges7130ra5trfZfqc4ndPdMQGUrZV7/sclrTtj292StkfEMknbi58BTCNN44+IHZKOn7F5vaTN\nxfnNkq4veS4AXdbuc/4FEXFYkorT+eWNBKAXuv6Cn+0h26O2R48eG+/21QFoUbvxH7G9UJKK07F6\nB0bEcETUIqI2OG+gzasDULZ2498iaWNxfqOkF8sZB0CvtPJW39OSXpP0NdsHbd8qaZOktbbfkbS2\n+BnANHJuswMiYkOdXWtKngVAD/EJPyAp4geSIn4gKeIHkiJ+ICniB5IifiAp4geSIn4gKeIHkiJ+\nICniB5IifiAp4geSIn4gKeIHkiJ+ICniB5IifiAp4geSIn4gKeIHkiJ+ICniB5IifiAp4geSIn4g\nKeIHkiJ+ICniB5JqGr/tEdtjtvdO2naf7Q9s7y7+XNfdMQGUrZV7/sclrZti+4MRsaL4s7XcsQB0\nW9P4I2KHpOM9mAVAD3XynP8O228WTwvmlDYRgJ5oN/5HJC2VtELSYUn31zvQ9pDtUdujR4+Nt3l1\nAMrWVvwRcSQixiPilKRHJa1scOxwRNQiojY4b6DdOQGUrK34bS+c9OMNkvbWOxZAfzq32QG2n5a0\nWtJFtg9KulfSatsrJIWkA5Ju6+KMALqgafwRsWGKzY91YRYAPcQn/ICkiB9IiviBpIgfSIr4gaSI\nH0iK+IGkiB9IiviBpIgfSIr4gaSIH0iK+IGkiB9IiviBpIgfSIr4gaSIH0iK+IGkiB9IiviBpIgf\nSKrpf92N/jf+0Ud19/38tesbXvbhi/9V9jil+fd/ZjXcP777yw33D3xSf99/vxINL/u7G4cb7l8z\na/ovPcc9P5AU8QNJET+QFPEDSRE/kBTxA0kRP5BU0/f5bS+W9ISkiyWdkjQcEQ/ZnivpD5KWSDog\n6aaI6N83jaexWec1eMO6iSt+vKfxAee47d/dbRc22X/O0ssa7j81+7y6+z790syGl3153fKG+9fM\nanK7TgOt3POflHRXRFwp6VuSbre9XNLdkrZHxDJJ24ufAUwTTeOPiMMRsas4f0LSPkmLJK2XtLk4\nbLOkxh8lA9BXvtBzfttLJF0t6XVJCyLisDTxD4Sk+WUPB6B7Wo7f9gWSnpN0Z0TU/zD52Zcbsj1q\ne/Tosen/eWjg/0VL8dueoYnwn4yI54vNR2wvLPYvlDQ21WUjYjgiahFRG5w3UMbMAErQNH7blvSY\npH0R8cCkXVskbSzOb5T0YvnjAeiWVr7Su0rSLZL22N5dbLtH0iZJz9q+VdJ7km7szoh45qqRhvv/\ntPcbdfeNq3/fymtmhhs/Tfzu+a803D/Y6Du9TSwcaPx1Ymn6P4ptGn9EvCrV/Ru0ptxxAPQKn/AD\nkiJ+ICniB5IifiAp4geSIn4gKf7r7mngihmzG+7/6dz9PZqk3zT+Wm7z/blxzw8kRfxAUsQPJEX8\nQFLEDyRF/EBSxA8kRfxAUsQPJEX8QFLEDyRF/EBSxA8kRfxAUsQPJEX8QFLEDyRF/EBSxA8kRfxA\nUsQPJEX8QFLEDyTVNH7bi22/bHuf7bds/6TYfp/tD2zvLv5c1/1xAZSllUU7Tkq6KyJ22b5Q0hu2\ntxX7HoyIX3dvPADd0jT+iDgs6XBx/oTtfZIWdXswAN31hZ7z214i6WpJrxeb7rD9pu0R23PqXGbI\n9qjt0aPHxjsaFkB5Wo7f9gWSnpN0Z0R8JOkRSUslrdDEI4P7p7pcRAxHRC0iaoPzBkoYGUAZWorf\n9gxNhP9kRDwvSRFxJCLGI+KUpEclrezemADK1sqr/Zb0mKR9EfHApO0LJx12g6S95Y8HoFtaebV/\nlaRbJO2xvbvYdo+kDbZXSApJByTd1pUJAXRFK6/2vyrJU+zaWv44AHqFT/gBSRE/kBTxA0kRP5AU\n8QNJET+QFPEDSRE/kBTxA0kRP5AU8QNJET+QFPEDSRE/kJQjondXZh+V9M9Jmy6S9GHPBvhi+nW2\nfp1LYrZ2lTnbZREx2MqBPY3/rCu3RyOiVtkADfTrbP06l8Rs7apqNh72A0kRP5BU1fEPV3z9jfTr\nbP06l8Rs7apktkqf8wOoTtX3/AAqUkn8ttfZftv2u7bvrmKGemwfsL2nWHl4tOJZRmyP2d47adtc\n29tsv1OcTrlMWkWz9cXKzQ1Wlq70tuu3Fa97/rDf9oCkf0haK+mgpJ2SNkTE33o6SB22D0iqRUTl\n7wnb/p6kjyU9ERFfL7b9UtLxiNhU/MM5JyJ+1iez3Sfp46pXbi4WlFk4eWVpSddL+pEqvO0azHWT\nKrjdqrjnXynp3YjYHxGfSHpG0voK5uh7EbFD0vEzNq+XtLk4v1kTf3l6rs5sfSEiDkfEruL8CUmn\nV5au9LZrMFclqoh/kaT3J/18UP215HdIesn2G7aHqh5mCguKZdNPL58+v+J5ztR05eZeOmNl6b65\n7dpZ8bpsVcQ/1eo//fSWw6qI+KakayXdXjy8RWtaWrm5V6ZYWbovtLviddmqiP+gpMWTfr5E0qEK\n5phSRBwqTsckvaD+W334yOlFUovTsYrn+Uw/rdw81crS6oPbrp9WvK4i/p2Sltm+3PZMSTdL2lLB\nHGexPbt4IUa2Z0u6Rv23+vAWSRuL8xslvVjhLJ/TLys311tZWhXfdv224nUlH/Ip3sr4jaQBSSMR\n8YueDzEF21/VxL29NLGI6VNVzmb7aUmrNfGtryOS7pX0R0nPSrpU0nuSboyInr/wVme21Zp46PrZ\nys2nn2P3eLbvSHpF0h5Jp4rN92ji+XVlt12DuTaogtuNT/gBSfEJPyAp4geSIn4gKeIHkiJ+ICni\nB5IifiAp4geS+h+0fDLlklnGkwAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x13a53f240>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAP8AAAD8CAYAAAC4nHJkAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4wLCBo\ndHRwOi8vbWF0cGxvdGxpYi5vcmcvpW3flQAADvFJREFUeJzt3XuMXOV5x/Hfw3gN+BLHV7wyS02Q\nQ7GIYtqVS3GVkiDAaVENKNBYEXGjCKctqEmDoiA3ElYbVCvlEkOTkAUbTOUYrBKKVVlcZFV1CLl4\nQYAhJgQcJ3a88a5tKDY22N59+scep2uz551h53LO9vl+JLQz55kz8+jg35wz8545r7m7AMRzStEN\nACgG4QeCIvxAUIQfCIrwA0ERfiAowg8ERfiBoAg/ENSYVr7YtCkVn93R1sqXBELZsfOo9u7vt1oe\nW1f4zWyhpJWSKpLuc/cVqcfP7mjTT5/oqOclASTMv3xnzY8d8WG/mVUkfUvSJyXNlbTYzOaO9PkA\ntFY9n/nnS3rN3be7+xFJD0la1Ji2ADRbPeGfJWnoMcaubNkJzGypmXWbWXffvv46Xg5AI9UT/uG+\nVHjP74PdvcvdO929c/rUSh0vB6CR6gn/LklDv707U9Lu+toB0Cr1hH+LpDlmdraZjZX0aUkbGtMW\ngGYb8VCfux8zsxslPaHBob7V7v5ywzoD0FR1jfO7+0ZJGxvUC4AW4vReICjCDwRF+IGgCD8QFOEH\ngiL8QFCEHwiK8ANBEX4gKMIPBEX4gaAIPxAU4QeCIvxAUIQfCIrwA0ERfiAowg8ERfiBoAg/EBTh\nB4Jq6RTdaI53/Whu7aUj75lE6QTvePqfwPTK4WT9w23jk3WUF3t+ICjCDwRF+IGgCD8QFOEHgiL8\nQFCEHwiqrnF+M9sh6YCkfknH3L2zEU3hRHv7307WL/rh3+TWZt9lyXUrh/LPEZCkvRdMStbXLr8t\nWec8gPJqxEk+H3f3vQ14HgAtxGE/EFS94XdJT5rZs2a2tBENAWiNeg/7F7j7bjObIekpM3vF3TcP\nfUD2prBUks6axU8JgLKoa8/v7ruzv72SHpU0f5jHdLl7p7t3Tp9aqeflADTQiMNvZuPNbOLx25Iu\nk/RSoxoD0Fz1HIefIelRMzv+PN9z98cb0hWAphtx+N19u6SPNrAX5PjPt89O1s9ZcSy31vOxDybX\ntfxVJUkzn3kzWe/rPz1Z/3Bb+vlRHIb6gKAIPxAU4QeCIvxAUIQfCIrwA0Fxvu0ocPm47cn61lWv\n5Nb+ecqPkut+6pm/TtZnPpMsYxRjzw8ERfiBoAg/EBThB4Ii/EBQhB8IivADQTHOPwq0j5mQrN/e\n/lxu7V1Pv79Xfnlasn4sfeVuTTzlSPoBSj8/isOeHwiK8ANBEX4gKMIPBEX4gaAIPxAU4QeCYpz/\n/7nb952frH/ooTeS9dc/MzlZP6+Na3OPVuz5gaAIPxAU4QeCIvxAUIQfCIrwA0ERfiCoquP8ZrZa\n0hWSet39/GzZFEkPS5otaYeka909PWCMpuk5djC3tv7eS5Lrzpj4drJ+26fWJOttVknWUV617Pkf\nkLTwpGU3S9rk7nMkbcruAxhFqobf3TdL2n/S4kWSju8S1ki6ssF9AWiykX7mP8PdeyQp+zujcS0B\naIWmf+FnZkvNrNvMuvv29Tf75QDUaKTh32Nm7ZKU/e3Ne6C7d7l7p7t3Tp/Kl0NAWYw0/BskLclu\nL5H0WGPaAdAqVcNvZusk/UjSuWa2y8w+L2mFpEvN7BeSLs3uAxhFqo7zu/vinFJ6ABkNc2ggfW38\nix7/+9za3A07k+vuXJmeE+DPx+WfQzCI88RGK/7PAUERfiAowg8ERfiBoAg/EBThB4Li0t0l0O8D\nyfrVr16VrM9d0Zdb2/65juS6P/jDf0nWKzY+WcfoxZ4fCIrwA0ERfiAowg8ERfiBoAg/EBThB4Ji\nnL8E/u3AzGR94B+mJet7FuaPxd//2buT606rMI4fFXt+ICjCDwRF+IGgCD8QFOEHgiL8QFCEHwiK\ncf4WeOTgB5L1e/7p6mT9A3Y4Wf/qF9fl1i48jVmSMDz2/EBQhB8IivADQRF+ICjCDwRF+IGgCD8Q\nVNVxfjNbLekKSb3ufn62bLmk6yUdv2D8Mnff2Kwmy279wUnJ+sqv5c1yPmhq92+T9UPf9WT9mgn7\nElXe3zG8Wv5lPCBp4TDL73T3edl/YYMPjFZVw+/umyXtb0EvAFqonmPCG83sRTNbbWaTG9YRgJYY\nafi/I+kcSfMk9Ui6Pe+BZrbUzLrNrLtvX/8IXw5Ao40o/O6+x9373X1A0r2S5ice2+Xune7eOX0q\nPzIBymJE4Tez9iF3r5L0UmPaAdAqtQz1rZN0saRpZrZL0i2SLjazeZJc0g5JX2hijwCaoGr43X24\nQepVTeil1H74zkBu7ev3fCa5bseW3yTrvXefmqw/PXdtsl6xtmQdGA5ngABBEX4gKMIPBEX4gaAI\nPxAU4QeC4tLdmVX/k54m+/6vLcqtnfli+ie5VYfyLkgP5Z06iofynjyU3/v2IzOS635u0o5kfTRv\nlzJgzw8ERfiBoAg/EBThB4Ii/EBQhB8IivADQYUZ53/96MFk/b5/vDJZn/Ls7tzam/ekN+PTHxm9\n4/jv+tFk/fKXr0nW227Nv7zj4Wljk+teekfu1eEkSee0lXe7jQbs+YGgCD8QFOEHgiL8QFCEHwiK\n8ANBEX4gqDDj/L/tH5esf3DbW8n6ti+359c+8q/Jdcs8jl/Ndb8cboLm/zP++vQUbG/+Uf61DObe\ntDW5bnslfR4A6sOeHwiK8ANBEX4gKMIPBEX4gaAIPxAU4QeCqjrOb2Ydkh6UNFPSgKQud19pZlMk\nPSxptqQdkq519zea12qxfIzn1kbzOP76g5OS9X23zE7Wx+5/NVnvu2pKbu3bZ25OrttmjPM3Uy17\n/mOSbnL38yRdKOkGM5sr6WZJm9x9jqRN2X0Ao0TV8Lt7j7s/l90+IGmbpFmSFklakz1sjaT0pXAA\nlMr7+sxvZrMlXSDpJ5LOcPceafANQlJ67iUApVJz+M1sgqRHJH3J3dMnwp+43lIz6zaz7r596fPA\nAbROTeE3szYNBn+tu38/W7zHzNqzeruk3uHWdfcud+90987pUyuN6BlAA1QNv5mZpFWStrn7HUNK\nGyQtyW4vkfRY49sD0Cy1/KR3gaTrJG01s+ezZcskrZC03sw+L+nXktLXcC7YnLbDyfpbcyYm65O3\n5r9PHl2U/jjTZsUd8Tx0IP/S2ZJ01y1/maxP3PTjZH3XVy5K1v97wTdya202Ibkumqtq+N39aUmW\nU76kse0AaBXO8AOCIvxAUIQfCIrwA0ERfiAowg8EFebS3ZNPOS1ZPzwt/T447YVDubW735iTXPeG\nyT9P1uv9SXDPsfzpx2+972+T63Y8/nKy7uPSlzw/PCP/p86S1GZ5o8QoGnt+ICjCDwRF+IGgCD8Q\nFOEHgiL8QFCEHwgqzDh/td/UT7p6d7I+ZnP+eQJPXvfHyXXvvyQ9zfWRSemx8mpO78sfSz/rsZ3J\ndX+24txkfWxferud+81fJesX2k35tYteSa77d+1PJevzTx29l0wvA/b8QFCEHwiK8ANBEX4gKMIP\nBEX4gaAIPxBUmHH+ah6f++/J+l0P/35urWvjZcl1Z/44fV3/yuGBZL2a/tPz38NfuXVact0tf3pn\nsn5gIH0OwiemfzlZP++u/bm1/V9PP/f1D3w2WX9h/rpkHWns+YGgCD8QFOEHgiL8QFCEHwiK8ANB\nEX4gKHNPj7WaWYekByXNlDQgqcvdV5rZcknXS+rLHrrM3Temnqvzo6f5T5/oqLvpsun39Dh9b3/+\nNf8lKX0WQHWpX9zPqKSvu1+x+t7/Dw0cSda/9eZ5ubVvP/OJ5LorP742Wf+L8entGtH8y3eq+4V3\naposoZaTfI5JusndnzOziZKeNbPjV1m4091vG2mjAIpTNfzu3iOpJ7t9wMy2SZrV7MYANNf7OuYz\ns9mSLpD0k2zRjWb2opmtNrPJOessNbNuM+vu21fvAS6ARqk5/GY2QdIjkr7k7m9J+o6kcyTN0+CR\nwe3DrefuXe7e6e6d06emrwcHoHVqCr+ZtWkw+Gvd/fuS5O573L3f3Qck3StpfvPaBNBoVcNvZiZp\nlaRt7n7HkOXtQx52laSXGt8egGap5dv+BZKuk7TVzJ7Pli2TtNjM5klySTskfaEpHY4C1YbL2sdM\naFEnrTfulLHJ+lemvJ5fuyK/huar5dv+pyUNN26YHNMHUG6c4QcERfiBoAg/EBThB4Ii/EBQhB8I\nivADQRF+ICjCDwRF+IGgCD8QFOEHgiL8QFCEHwiq6qW7G/piZn2SfjVk0TRJe1vWwPtT1t7K2pdE\nbyPVyN5+z92n1/LAlob/PS9u1u3unYU1kFDW3sral0RvI1VUbxz2A0ERfiCoosPfVfDrp5S1t7L2\nJdHbSBXSW6Gf+QEUp+g9P4CCFBJ+M1toZj83s9fM7OYieshjZjvMbKuZPW9m3QX3strMes3spSHL\nppjZU2b2i+zvsNOkFdTbcjP7TbbtnjezPyuotw4z+y8z22ZmL5vZF7PlhW67RF+FbLeWH/abWUXS\nq5IulbRL0hZJi939Zy1tJIeZ7ZDU6e6Fjwmb2cckHZT0oLufny37hqT97r4ie+Oc7O5fLUlvyyUd\nLHrm5mxCmfahM0tLulLSX6nAbZfo61oVsN2K2PPPl/Sau2939yOSHpK0qIA+Ss/dN0vaf9LiRZLW\nZLfXaPAfT8vl9FYK7t7j7s9ltw9IOj6zdKHbLtFXIYoI/yxJO4fc36VyTfntkp40s2fNbGnRzQzj\njGza9OPTp88ouJ+TVZ25uZVOmlm6NNtuJDNeN1oR4R9u9p8yDTkscPc/kPRJSTdkh7eoTU0zN7fK\nMDNLl8JIZ7xutCLCv0tSx5D7Z0raXUAfw3L33dnfXkmPqnyzD+85Pklq9re34H5+p0wzNw83s7RK\nsO3KNON1EeHfImmOmZ1tZmMlfVrShgL6eA8zG599ESMzGy/pMpVv9uENkpZkt5dIeqzAXk5Qlpmb\n82aWVsHbrmwzXhdykk82lPFNSRVJq9391pY3MQwz+5AG9/bS4CSm3yuyNzNbJ+liDf7qa4+kWyT9\nh6T1ks6S9GtJ17h7y794y+ntYg0euv5u5ubjn7Fb3NufSPqBpK2SBrLFyzT4+bqwbZfoa7EK2G6c\n4QcExRl+QFCEHwiK8ANBEX4gKMIPBEX4gaAIPxAU4QeC+l/X0BVN1J7vtgAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x13a579eb8>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\nfUzS3ZJWJZ7b5+497t7TOa+t1j4BFKym8JtZ14SHH5P0QjHtAGiWaob6tkhaLWm+mQ1K2iBptZmt\nlOSSBiR9uoE9AmiAiuF393WTLN7YgF6mrGOeHo/u+E26fmRh+g1Y1/SpOY5fyddGcj8tSpLmPnsw\nWffB15P1W7+0Prf23Gd+kFx3Q+eLyfqZgF/4AUERfiAowg8ERfiBoAg/EBThB4Li0t0FmGaWrB+d\nla5Pr3B26dt+LFlv5ctQv3o8f3rybXd9ILlu58h/J+tjb6R33NxNT+bWvjd6eXLdq27Zmaxf0jEj\nWZ8KOPIDQRF+ICjCDwRF+IGgCD8QFOEHgiL8QFCM8xdg9rTfTdaPrE5fovo9t76drN/4iT9O1u/q\n6k/WG+lAhctvX77t87m1C/5zKLnuS7cvTNbP/8bvJ+ttT+VfY2bOS+m+f/zmsmT9ko5fJutTAUd+\nICjCDwRF+IGgCD8QFOEHgiL8QFCEHwiKcf4m+Nb701c6/9z7/jZZf27Dxcn6xb1Lc2vrzk//BuD8\nGcPJ+htj6fPWb334umR9+Tf25tZ2f+6c5LpPr74jWd+4cmWy3rfzstza9RelL939ydkvJ+sS5/MD\nmKIIPxAU4QeCIvxAUIQfCIrwA0ERfiAoc/f0E8y6Jd0r6RxJY5L63P2rZjZX0nclLZE0IOkad/91\n6rV6Lvwdf/rR7gLaPrNsGH5fsv69f0pf337Bjw/kF8fSf7/eUeGnHunZxTXtcPq8+Bdv7Mqt/fuf\npsfxz2s/M6cmb6RVH35N/T99Kz1RRKaaI/9xSV9w9wsk/ZGk681suaSbJD3h7sskPZE9BjBFVAy/\nu+9z92ez+4cl7Za0UNJaSZuzp22WdHWjmgRQvNP6zG9mSyRdJOknks52933S+H8QkhYU3RyAxqk6\n/GY2S9IDkj7r7odOY71eM+s3s/7hg6O19AigAaoKv5m1azz433b3B7PF+82sK6t3SZr0aozu3ufu\nPe7e0zmvrYieARSgYvjNzCRtlLTb3Sd+PbtV0vrs/npJjxTfHoBGqWao7zJJP5S0S/8/8HOzxj/3\n3y9psaRXJX3c3UdSr8VQX20GE9NcS9L9h/4wt/bgYPq01/89Vt9Z3efOTo7uqu+8h3Nr89tm1rVt\nnOp0hvoq/s27+48k5b3Yh06nMQCtg1/4AUERfiAowg8ERfiBoAg/EBThB4Li0t1TwKLp6VNbPz/3\nlZpqzcFYfqviyA8ERfiBoAg/EBThB4Ii/EBQhB8IivADQRF+ICjCDwRF+IGgCD8QFOEHgiL8QFCE\nHwiK8ANBEX4gKMIPBEX4gaAIPxAU4QeCIvxAUIQfCIrwA0FVDL+ZdZvZf5jZbjP7mZl9Jlt+i5n9\nysx2Zn8+2vh2ARSlmkk7jkv6grs/a2bvkvSMmT2e1e5099sb1x6ARqkYfnffJ2lfdv+wme2WtLDR\njQForNP6zG9mSyRdJOkn2aIbzOx5M9tkZnNy1uk1s34z6x8+OFpXswCKU3X4zWyWpAckfdbdD0n6\nuqSlklZq/J3BVyZbz9373L3H3Xs657UV0DKAIlQVfjNr13jwv+3uD0qSu+9391F3H5N0t6RVjWsT\nQNGq+bbfJG2UtNvd75iwvGvC0z4m6YXi2wPQKNV823+ppL+QtMvMdmbLbpa0zsxWSnJJA5I+3ZAO\nATRENd/2/0iSTVLaVnw7AJqFX/gBQRF+ICjCDwRF+IGgCD8QFOEHgiL8QFCEHwiK8ANBEX4gKMIP\nBEX4gaAIPxAU4QeCMndv3sbMhiX9csKi+ZIONK2B09OqvbVqXxK91arI3s51985qntjU8J+ycbN+\nd+8prYGEVu2tVfuS6K1WZfXG234gKMIPBFV2+PtK3n5Kq/bWqn1J9FarUnor9TM/gPKUfeQHUJJS\nwm9ma8zsJTPbY2Y3ldFDHjMbMLNd2czD/SX3ssnMhszshQnL5prZ42b2cnY76TRpJfXWEjM3J2aW\nLnXftdqM101/229mbZJ+LukKSYOSdkha5+4vNrWRHGY2IKnH3UsfEzazD0g6Iuled1+RLfuypBF3\nvy37j3OOu9/YIr3dIulI2TM3ZxPKdE2cWVrS1ZI+oRL3XaKva1TCfivjyL9K0h53f8Xdj0q6T9La\nEvpoee6+XdLISYvXStqc3d+s8X88TZfTW0tw933u/mx2/7CkEzNLl7rvEn2VoozwL5T02oTHg2qt\nKb9d0mNm9oyZ9ZbdzCTOzqZNPzF9+oKS+zlZxZmbm+mkmaVbZt/VMuN10coI/2Sz/7TSkMOl7n6x\npI9Iuj57e4vqVDVzc7NMMrN0S6h1xuuilRH+QUndEx4vkrS3hD4m5e57s9shSQ+p9WYf3n9iktTs\ndqjkfn6rlWZunmxmabXAvmulGa/LCP8OScvM7DwzmyHpWklbS+jjFGY2M/siRmY2U9KVar3Zh7dK\nWp/dXy/pkRJ7eYdWmbk5b2ZplbzvWm3G61J+5JMNZdwlqU3SJnf/h6Y3MQkzO1/jR3tpfBLT75TZ\nm5ltkbRa42d97Ze0QdLDku6XtFjSq5I+7u5N/+Itp7fVGn/r+tuZm098xm5yb5dJ+qGkXZLGssU3\na/zzdWn7LtHXOpWw3/iFHxAUv/ADgiL8QFCEHwiK8ANBEX4gKMIPBEX4gaAIPxDU/wEP5wh6rbDp\nWQAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x13a5bcb00>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "temp = x_train[0,:,:,:,:]  \n",
    "for i in range(0,20):\n",
    "    plt.figure()\n",
    "    plt.imshow(temp[i,:,:,0])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "###### Step 3: Training Data Processing\n",
    "To Load Omniglot dataset, and prepare it for Matching Networks Architecture, we need to create:\n",
    "1. Label Set: Variable choose_label \n",
    "2. Support Set: support_set_x, support_set_y\n",
    "3. Batch from Suppport Set Examples\n",
    "\n",
    "Let's first create a batch which can give a support set, and target set."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "def sample_batch(data):\n",
    "        \"\"\"\n",
    "        Generates sample batch \n",
    "        :param : data - one of(train,test,val) our current dataset shape [total_classes,20,28,28,1]\n",
    "        :return: [support_set_x,support_set_y,target_x,target_y] for Matching Networks\n",
    "        \"\"\"\n",
    "        support_set_x = np.zeros((batch_size, classes_per_set, samples_per_class, data.shape[2],\n",
    "                                  data.shape[3], data.shape[4]), np.float32)\n",
    "        support_set_y = np.zeros((batch_size, classes_per_set, samples_per_class), np.int32)\n",
    "        \n",
    "        target_x = np.zeros((batch_size, data.shape[2], data.shape[3], data.shape[4]), np.float32)\n",
    "        target_y = np.zeros((batch_size, 1), np.int32)\n",
    "        for i in range(batch_size):\n",
    "            choose_classes = np.random.choice(data.shape[0], size=classes_per_set, replace=False) # choosing random classes\n",
    "            choose_label = np.random.choice(classes_per_set, size=1) # label set\n",
    "            choose_samples = np.random.choice(data.shape[1], size=samples_per_class + 1, replace=False)\n",
    "            x_temp = data[choose_classes] # choosing classes\n",
    "            x_temp = x_temp[:, choose_samples] # choosing sample batch from classes chosen outputs 20X2X28X28X1\n",
    "            y_temp = np.arange(classes_per_set) # will return [0,1,2,3,...,19]\n",
    "            support_set_x[i] = x_temp[:, :-1]\n",
    "            support_set_y[i] = np.expand_dims(y_temp[:], axis=1) # expand dimension\n",
    "            target_x[i] = x_temp[choose_label, -1]\n",
    "            target_y[i] = y_temp[choose_label]\n",
    "        return support_set_x, support_set_y, target_x, target_y # returns support of [batch_size, 20 classes per set, 1 sample, 28, 28,1]\n",
    "    \n",
    "def get_batch(dataset_name):\n",
    "        \"\"\"\n",
    "        gen batch while training\n",
    "        :param dataset_name: The name of dataset(one of \"train\",\"val\",\"test\")\n",
    "        :return: a batch images\n",
    "        \"\"\"\n",
    "        support_set_x, support_set_y, target_x, target_y = sample_batch(datatset[dataset_name])\n",
    "        support_set_x = support_set_x.reshape((support_set_x.shape[0], support_set_x.shape[1] * support_set_x.shape[2],\n",
    "                                               support_set_x.shape[3], support_set_x.shape[4], support_set_x.shape[5]))\n",
    "        support_set_y = support_set_y.reshape(support_set_y.shape[0], support_set_y.shape[1] * support_set_y.shape[2])\n",
    "        return support_set_x, support_set_y, target_x, target_y\n",
    "    "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "If you recall, Matching Networks architecture, you will remember that there are mainly 4 parts of network:\n",
    "1. Embeddings extractor(g)\n",
    "2. Full-Context Embeddings(f)\n",
    "2. Attention Model(a)\n",
    "3. Distance Function(c)\n",
    "\n",
    "\n",
    "\n",
    "so, In this section first we will create a classifier."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "##### Step 4: Create an Embeddings extractor"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "def convLayer(in_channels, out_channels, dropout_prob=0.0):\n",
    "    \"\"\"\n",
    "    :param dataset_name: The name of dataset(one of \"train\",\"val\",\"test\")\n",
    "    :return: a batch images\n",
    "    \"\"\"\n",
    "    cnn_seq = nn.Sequential(\n",
    "        nn.Conv2d(in_channels, out_channels, 3, 1, 1),\n",
    "        nn.ReLU(True),\n",
    "        nn.BatchNorm2d(out_channels),\n",
    "        nn.MaxPool2d(kernel_size=2, stride=2),\n",
    "        nn.Dropout(dropout_prob)\n",
    "    )\n",
    "    return cnn_seq\n",
    "\n",
    "class Embeddings_extractor(nn.Module):\n",
    "    def __init__(self, layer_size=64, num_channels=1, dropout_prob=0.5, image_size=28):\n",
    "        super(Embeddings_extractor, self).__init__()\n",
    "        \"\"\"\n",
    "        Build a CNN to produce embeddings\n",
    "        :param layer_size:64(default)\n",
    "        :param num_channels:\n",
    "        :param keep_prob:\n",
    "        :param image_size:\n",
    "        \"\"\"\n",
    "        self.layer1 = convLayer(num_channels, layer_size, dropout_prob)\n",
    "        self.layer2 = convLayer(layer_size, layer_size, dropout_prob)\n",
    "        self.layer3 = convLayer(layer_size, layer_size, dropout_prob)\n",
    "        self.layer4 = convLayer(layer_size, layer_size, dropout_prob)\n",
    "\n",
    "        finalSize = int(math.floor(image_size / (2 * 2 * 2 * 2)))\n",
    "        self.outSize = finalSize * finalSize * layer_size\n",
    "\n",
    "    def forward(self, image_input):\n",
    "        \"\"\"\n",
    "        :param: Image\n",
    "        :return: embeddings\n",
    "        \"\"\"\n",
    "        x = self.layer1(image_input)\n",
    "        x = self.layer2(x)\n",
    "        x = self.layer3(x)\n",
    "        x = self.layer4(x)\n",
    "        x = x.view(x.size()[0], -1)\n",
    "        return x\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "##### step 5: Create an Attention model after classifier.\n",
    "a(x,x^)= softmax of cosine similarities"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "class AttentionalClassify(nn.Module):\n",
    "    def __init__(self):\n",
    "        super(AttentionalClassify, self).__init__()\n",
    "\n",
    "    def forward(self, similarities, support_set_y):\n",
    "        \"\"\"\n",
    "        Products pdfs over the support set classes for the target set image.\n",
    "        :param similarities: A tensor with cosine similarites of size[batch_size,sequence_length]\n",
    "        :param support_set_y:[batch_size,sequence_length,classes_num]\n",
    "        :return: Softmax pdf shape[batch_size,classes_num]\n",
    "        \"\"\"\n",
    "        softmax = nn.Softmax(dim=1)\n",
    "        softmax_similarities = softmax(similarities)\n",
    "        preds = softmax_similarities.unsqueeze(1).bmm(support_set_y).squeeze()\n",
    "        return preds"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### Step 6: Create a Distance Network, which will take output from Test Image, and training embeddings, to calculate the Distance.\n",
    "\n",
    "find cosine similarities between support set and input_test_image"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "class DistanceNetwork(nn.Module):\n",
    "    \"\"\"\n",
    "    This model calculates the cosine distance between each of the support set embeddings and \n",
    "    the target image embeddings.\n",
    "    \"\"\"\n",
    "\n",
    "    def __init__(self):\n",
    "        super(DistanceNetwork, self).__init__()\n",
    "\n",
    "    def forward(self, support_set, input_image):\n",
    "        \"\"\"\n",
    "        forward pass\n",
    "        :param support_set:the embeddings of the support set images.shape[sequence_length,batch_size,64]\n",
    "        :param input_image: the embedding of the target image,shape[batch_size,64]\n",
    "        :return:shape[batch_size,sequence_length]\n",
    "        \"\"\"\n",
    "        eps = 1e-10\n",
    "        similarities = []\n",
    "        for support_image in support_set:\n",
    "            sum_support = torch.sum(torch.pow(support_image, 2), 1)\n",
    "            support_manitude = sum_support.clamp(eps, float(\"inf\")).rsqrt()\n",
    "            dot_product = input_image.unsqueeze(1).bmm(support_image.unsqueeze(2)).squeeze()\n",
    "            cosine_similarity = dot_product * support_manitude\n",
    "            similarities.append(cosine_similarity)\n",
    "        similarities = torch.stack(similarities)\n",
    "        return similarities.t()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "##### Step 7:  Create a Bi-directional LSTM, which is taking input and output from Test-image, and put them in same embeddings space.  \n",
    "If we wish to use full-context embeddings, Matching Networks introduced Bi-directional LSTM for it."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "class BidirectionalLSTM(nn.Module):\n",
    "    def __init__(self, layer_size, batch_size, vector_dim):\n",
    "        super(BidirectionalLSTM, self).__init__()\n",
    "        \"\"\"\n",
    "        Initial a muti-layer Bidirectional LSTM\n",
    "        :param layer_size: a list of each layer'size\n",
    "        :param batch_size: \n",
    "        :param vector_dim: \n",
    "        \"\"\"\n",
    "        self.batch_size = batch_size\n",
    "        self.hidden_size = layer_size[0]\n",
    "        self.vector_dim = vector_dim\n",
    "        self.num_layer = len(layer_size)\n",
    "        self.lstm = nn.LSTM(input_size=self.vector_dim, num_layers=self.num_layer, hidden_size=self.hidden_size,\n",
    "                            bidirectional=True)\n",
    "        self.hidden = (Variable(torch.zeros(self.lstm.num_layers * 2, self.batch_size, self.lstm.hidden_size),requires_grad=False),\n",
    "                Variable(torch.zeros(self.lstm.num_layers * 2, self.batch_size, self.lstm.hidden_size),requires_grad=False))\n",
    "\n",
    "    def repackage_hidden(self,h):\n",
    "        \"\"\"Wraps hidden states in new Variables, \n",
    "        to detach them from their history.\"\"\"\n",
    "        if type(h) == torch.Tensor:\n",
    "            return Variable(h.data)\n",
    "        else:\n",
    "            return tuple(self.repackage_hidden(v) for v in h)\n",
    "        \n",
    "    def forward(self, inputs):\n",
    "        self.hidden = self.repackage_hidden(self.hidden)\n",
    "        output, self.hidden = self.lstm(inputs, self.hidden)\n",
    "        return output\n",
    "    "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "##### Step 8: Let's club all small modules we made, and create a matching network. "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "class MatchingNetwork(nn.Module):\n",
    "    def __init__(self, keep_prob, batch_size=32, num_channels=1, learning_rate=1e-3, fce=False, num_classes_per_set=20, \\\n",
    "                 num_samples_per_class=1, image_size=28):\n",
    "        \"\"\"\n",
    "        Matching Network\n",
    "        :param keep_prob: dropout rate\n",
    "        :param batch_size:\n",
    "        :param num_channels:\n",
    "        :param learning_rate:\n",
    "        :param fce: Flag indicating whether to use full context embeddings(i.e. apply an LSTM on the CNN embeddings)\n",
    "        :param num_classes_per_set:\n",
    "        :param num_samples_per_class:\n",
    "        :param image_size:\n",
    "        \"\"\"\n",
    "        super(MatchingNetwork, self).__init__()\n",
    "        self.batch_size = batch_size\n",
    "        self.keep_prob = keep_prob\n",
    "        self.num_channels = num_channels\n",
    "        self.learning_rate = learning_rate\n",
    "        self.num_classes_per_set = num_classes_per_set\n",
    "        self.num_samples_per_class = num_samples_per_class\n",
    "        self.image_size = image_size\n",
    "        # Let's set all peices of Matching Networks Architecture\n",
    "        self.g = Embeddings_extractor(layer_size=64, num_channels=num_channels, dropout_prob=keep_prob, image_size=image_size)\n",
    "        self.f = fce # if we are considering full-context embeddings\n",
    "        self.c = DistanceNetwork() # cosine distance among embeddings\n",
    "        self.a = AttentionalClassify() # softmax of cosine distance of embeddings\n",
    "        if self.f:\n",
    "            self.lstm = BidirectionalLSTM(layer_size=[32], batch_size=self.batch_size, vector_dim=self.g.outSize)\n",
    "\n",
    "    def forward(self, support_set_images, support_set_y_one_hot, target_image, target_y):\n",
    "        \"\"\"\n",
    "        Main process of the network\n",
    "        :param support_set_images: shape[batch_size,sequence_length,num_channels,image_size,image_size]\n",
    "        :param support_set_y_one_hot: shape[batch_size,sequence_length,num_classes_per_set]\n",
    "        :param target_image: shape[batch_size,num_channels,image_size,image_size]\n",
    "        :param target_y:\n",
    "        :return:\n",
    "        \"\"\"\n",
    "        # produce embeddings for support set images\n",
    "        encoded_images = []\n",
    "        for i in np.arange(support_set_images.size(1)):\n",
    "            gen_encode = self.g(support_set_images[:, i, :, :])\n",
    "            encoded_images.append(gen_encode)\n",
    "            \n",
    "        # produce embeddings for target images\n",
    "        gen_encode = self.g(target_image)\n",
    "        encoded_images.append(gen_encode)\n",
    "        output = torch.stack(encoded_images,dim=0)\n",
    "        \n",
    "        # if we are considering full-context embeddings\n",
    "        if self.f:\n",
    "            output = self.lstm(output)\n",
    "            \n",
    "        # get similarities between support set embeddings and target\n",
    "        similarites = self.c(support_set=output[:-1], input_image=output[-1])\n",
    "        \n",
    "        # produce predictions for target probabilities\n",
    "        preds = self.a(similarites, support_set_y=support_set_y_one_hot)\n",
    "        \n",
    "        # calculate the accuracy\n",
    "        values, indices = preds.max(1)\n",
    "        accuracy = torch.mean((indices.squeeze() == target_y).float())\n",
    "        crossentropy_loss = F.cross_entropy(preds, target_y.long())\n",
    "\n",
    "        return accuracy, crossentropy_loss"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### Step 9: Create a Dataset Loader.\n",
    "For our case, as we are using Omniglot Dataset,it will create a Omnligloat builder which calls Matching Network, and run its epochs for training, testing, and validation purpose."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "def run_epoch(total_train_batches, name='train'):\n",
    "    \"\"\"\n",
    "    Run the training epoch\n",
    "    :param total_train_batches: Number of batches to train on\n",
    "    :return:\n",
    "    \"\"\"\n",
    "    total_c_loss = 0.0\n",
    "    total_accuracy = 0.0\n",
    "    for i in range(int(total_train_batches)):\n",
    "            x_support_set, y_support_set, x_target, y_target = get_batch(name)\n",
    "            x_support_set = Variable(torch.from_numpy(x_support_set)).float()\n",
    "            y_support_set = Variable(torch.from_numpy(y_support_set), requires_grad=False).long()\n",
    "            x_target = Variable(torch.from_numpy(x_target)).float()\n",
    "            y_target = Variable(torch.from_numpy(y_target), requires_grad=False).squeeze().long()\n",
    "\n",
    "            # convert to one hot encoding\n",
    "            y_support_set = y_support_set.unsqueeze(2)\n",
    "            sequence_length = y_support_set.size()[1]\n",
    "            batch_size = y_support_set.size()[0]\n",
    "            y_support_set_one_hot = Variable(\n",
    "                torch.zeros(batch_size, sequence_length, \n",
    "                            classes_per_set).scatter_(2,y_support_set.data,1), requires_grad=False)\n",
    "\n",
    "            # reshape channels and change order\n",
    "            size = x_support_set.size()\n",
    "            x_support_set = x_support_set.permute(0, 1, 4, 2, 3)\n",
    "            x_target = x_target.permute(0, 3, 1, 2)\n",
    "            acc, c_loss = matchNet(x_support_set, y_support_set_one_hot, x_target, y_target)\n",
    "\n",
    "            # optimize process\n",
    "            optimizer.zero_grad()\n",
    "            c_loss.backward()\n",
    "            optimizer.step()\n",
    "\n",
    "            iter_out = \"tr_loss: {}, tr_accuracy: {}\".format(c_loss, acc)\n",
    "            total_c_loss += c_loss\n",
    "            total_accuracy += acc\n",
    "\n",
    "    total_c_loss = total_c_loss / total_train_batches\n",
    "    total_accuracy = total_accuracy / total_train_batches\n",
    "    return total_c_loss, total_accuracy"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "###### Set-up Experiments variables."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "batch_size=20\n",
    "num_channels=1\n",
    "lr=1e-3\n",
    "image_size=28\n",
    "classes_per_set=20\n",
    "samples_per_class=1\n",
    "keep_prob=0.0\n",
    "fce=True\n",
    "optim=\"adam\"\n",
    "wd=0\n",
    "matchNet = MatchingNetwork(keep_prob, batch_size, num_channels, lr, fce, classes_per_set,\n",
    "                                samples_per_class, image_size)\n",
    "total_iter = 0\n",
    "total_train_iter = 0\n",
    "optimizer = torch.optim.Adam(matchNet.parameters(), lr=lr, weight_decay=wd)\n",
    "scheduler = ReduceLROnPlateau(optimizer, 'min',verbose=True)\n",
    "# Training setup\n",
    "total_epochs = 100\n",
    "total_train_batches = 10\n",
    "total_val_batches = 5\n",
    "total_test_batches = 5"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "##### Let's Run Experiments !!!!! "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch 0: train_loss:2.98 train_accuracy:0.20 valid_loss:2.98 valid_accuracy:0.20\n",
      "Epoch 1: train_loss:2.96 train_accuracy:0.28 valid_loss:2.95 valid_accuracy:0.26\n",
      "Epoch 2: train_loss:2.94 train_accuracy:0.29 valid_loss:2.92 valid_accuracy:0.34\n",
      "Epoch 3: train_loss:2.92 train_accuracy:0.34 valid_loss:2.92 valid_accuracy:0.24\n",
      "Epoch 4: train_loss:2.90 train_accuracy:0.37 valid_loss:2.89 valid_accuracy:0.42\n",
      "Epoch 5: train_loss:2.86 train_accuracy:0.42 valid_loss:2.85 valid_accuracy:0.47\n",
      "Epoch 6: train_loss:2.86 train_accuracy:0.42 valid_loss:2.85 valid_accuracy:0.42\n",
      "Epoch 7: train_loss:2.82 train_accuracy:0.52 valid_loss:2.83 valid_accuracy:0.44\n",
      "Epoch 8: train_loss:2.83 train_accuracy:0.44 valid_loss:2.79 valid_accuracy:0.55\n",
      "Epoch 9: train_loss:2.81 train_accuracy:0.44 valid_loss:2.79 valid_accuracy:0.52\n",
      "Epoch 10: train_loss:2.77 train_accuracy:0.57 valid_loss:2.80 valid_accuracy:0.48\n",
      "Epoch 11: train_loss:2.77 train_accuracy:0.61 valid_loss:2.75 valid_accuracy:0.67\n",
      "Epoch 12: train_loss:2.73 train_accuracy:0.65 valid_loss:2.76 valid_accuracy:0.52\n",
      "Epoch 13: train_loss:2.74 train_accuracy:0.63 valid_loss:2.75 valid_accuracy:0.53\n",
      "Epoch 14: train_loss:2.76 train_accuracy:0.58 valid_loss:2.73 valid_accuracy:0.63\n",
      "Epoch 15: train_loss:2.72 train_accuracy:0.63 valid_loss:2.72 valid_accuracy:0.65\n",
      "Epoch 16: train_loss:2.73 train_accuracy:0.60 valid_loss:2.73 valid_accuracy:0.61\n",
      "Epoch 17: train_loss:2.70 train_accuracy:0.68 valid_loss:2.71 valid_accuracy:0.65\n",
      "Epoch 18: train_loss:2.73 train_accuracy:0.60 valid_loss:2.69 valid_accuracy:0.70\n",
      "Epoch 19: train_loss:2.69 train_accuracy:0.68 valid_loss:2.68 valid_accuracy:0.67\n",
      "Epoch 20: train_loss:2.70 train_accuracy:0.65 valid_loss:2.72 valid_accuracy:0.60\n",
      "Epoch 21: train_loss:2.72 train_accuracy:0.62 valid_loss:2.68 valid_accuracy:0.71\n",
      "Epoch 22: train_loss:2.70 train_accuracy:0.67 valid_loss:2.71 valid_accuracy:0.61\n",
      "Epoch 23: train_loss:2.69 train_accuracy:0.69 valid_loss:2.70 valid_accuracy:0.65\n",
      "Epoch 24: train_loss:2.70 train_accuracy:0.66 valid_loss:2.67 valid_accuracy:0.72\n",
      "Epoch 25: train_loss:2.68 train_accuracy:0.66 valid_loss:2.66 valid_accuracy:0.74\n",
      "Epoch 26: train_loss:2.69 train_accuracy:0.66 valid_loss:2.65 valid_accuracy:0.68\n",
      "Epoch 27: train_loss:2.69 train_accuracy:0.66 valid_loss:2.68 valid_accuracy:0.69\n",
      "Epoch 28: train_loss:2.68 train_accuracy:0.69 valid_loss:2.68 valid_accuracy:0.60\n",
      "Epoch 29: train_loss:2.64 train_accuracy:0.75 valid_loss:2.63 valid_accuracy:0.80\n",
      "Epoch 30: train_loss:2.65 train_accuracy:0.71 valid_loss:2.63 valid_accuracy:0.72\n",
      "Epoch 31: train_loss:2.63 train_accuracy:0.75 valid_loss:2.65 valid_accuracy:0.72\n",
      "Epoch 32: train_loss:2.65 train_accuracy:0.74 valid_loss:2.61 valid_accuracy:0.84\n",
      "Epoch 33: train_loss:2.65 train_accuracy:0.70 valid_loss:2.62 valid_accuracy:0.73\n",
      "Epoch 34: train_loss:2.62 train_accuracy:0.74 valid_loss:2.64 valid_accuracy:0.69\n",
      "Epoch 35: train_loss:2.62 train_accuracy:0.75 valid_loss:2.61 valid_accuracy:0.74\n",
      "Epoch 36: train_loss:2.65 train_accuracy:0.75 valid_loss:2.61 valid_accuracy:0.76\n",
      "Epoch 37: train_loss:2.62 train_accuracy:0.77 valid_loss:2.61 valid_accuracy:0.78\n",
      "Epoch 38: train_loss:2.60 train_accuracy:0.81 valid_loss:2.61 valid_accuracy:0.75\n",
      "Epoch 39: train_loss:2.61 train_accuracy:0.75 valid_loss:2.63 valid_accuracy:0.69\n",
      "Epoch 40: train_loss:2.63 train_accuracy:0.75 valid_loss:2.57 valid_accuracy:0.79\n",
      "Epoch 41: train_loss:2.62 train_accuracy:0.75 valid_loss:2.60 valid_accuracy:0.78\n",
      "Epoch 42: train_loss:2.64 train_accuracy:0.75 valid_loss:2.57 valid_accuracy:0.81\n",
      "Epoch 43: train_loss:2.60 train_accuracy:0.78 valid_loss:2.63 valid_accuracy:0.74\n",
      "Epoch 44: train_loss:2.60 train_accuracy:0.82 valid_loss:2.62 valid_accuracy:0.79\n",
      "Epoch 45: train_loss:2.63 train_accuracy:0.72 valid_loss:2.57 valid_accuracy:0.80\n",
      "Epoch 46: train_loss:2.63 train_accuracy:0.75 valid_loss:2.57 valid_accuracy:0.81\n",
      "Epoch 47: train_loss:2.60 train_accuracy:0.78 valid_loss:2.60 valid_accuracy:0.77\n",
      "Epoch 48: train_loss:2.59 train_accuracy:0.79 valid_loss:2.60 valid_accuracy:0.76\n",
      "Epoch 49: train_loss:2.62 train_accuracy:0.72 valid_loss:2.58 valid_accuracy:0.77\n",
      "Epoch 50: train_loss:2.61 train_accuracy:0.77 valid_loss:2.56 valid_accuracy:0.82\n",
      "Epoch 51: train_loss:2.57 train_accuracy:0.81 valid_loss:2.55 valid_accuracy:0.86\n",
      "Epoch 52: train_loss:2.62 train_accuracy:0.75 valid_loss:2.59 valid_accuracy:0.73\n",
      "Epoch 53: train_loss:2.60 train_accuracy:0.80 valid_loss:2.60 valid_accuracy:0.79\n",
      "Epoch 54: train_loss:2.63 train_accuracy:0.73 valid_loss:2.56 valid_accuracy:0.85\n",
      "Epoch 55: train_loss:2.58 train_accuracy:0.81 valid_loss:2.52 valid_accuracy:0.87\n",
      "Epoch 56: train_loss:2.57 train_accuracy:0.79 valid_loss:2.56 valid_accuracy:0.84\n",
      "Epoch 57: train_loss:2.60 train_accuracy:0.77 valid_loss:2.53 valid_accuracy:0.84\n",
      "Epoch 58: train_loss:2.59 train_accuracy:0.82 valid_loss:2.56 valid_accuracy:0.81\n",
      "Epoch 59: train_loss:2.59 train_accuracy:0.78 valid_loss:2.60 valid_accuracy:0.75\n",
      "Epoch 60: train_loss:2.57 train_accuracy:0.84 valid_loss:2.54 valid_accuracy:0.83\n",
      "Epoch 61: train_loss:2.59 train_accuracy:0.80 valid_loss:2.56 valid_accuracy:0.83\n",
      "Epoch 62: train_loss:2.57 train_accuracy:0.79 valid_loss:2.56 valid_accuracy:0.76\n",
      "Epoch 63: train_loss:2.58 train_accuracy:0.79 valid_loss:2.55 valid_accuracy:0.82\n",
      "Epoch 64: train_loss:2.56 train_accuracy:0.79 valid_loss:2.58 valid_accuracy:0.79\n",
      "Epoch 65: train_loss:2.59 train_accuracy:0.78 valid_loss:2.51 valid_accuracy:0.95\n",
      "Epoch 66: train_loss:2.58 train_accuracy:0.81 valid_loss:2.54 valid_accuracy:0.83\n",
      "Epoch 67: train_loss:2.59 train_accuracy:0.78 valid_loss:2.57 valid_accuracy:0.78\n",
      "Epoch 68: train_loss:2.57 train_accuracy:0.84 valid_loss:2.55 valid_accuracy:0.83\n",
      "Epoch 69: train_loss:2.58 train_accuracy:0.78 valid_loss:2.52 valid_accuracy:0.91\n",
      "Epoch 70: train_loss:2.58 train_accuracy:0.78 valid_loss:2.56 valid_accuracy:0.82\n",
      "Epoch 71: train_loss:2.58 train_accuracy:0.79 valid_loss:2.53 valid_accuracy:0.82\n",
      "Epoch 72: train_loss:2.59 train_accuracy:0.77 valid_loss:2.56 valid_accuracy:0.83\n",
      "Epoch 73: train_loss:2.55 train_accuracy:0.84 valid_loss:2.54 valid_accuracy:0.79\n",
      "Epoch 74: train_loss:2.57 train_accuracy:0.83 valid_loss:2.52 valid_accuracy:0.87\n",
      "Epoch 75: train_loss:2.56 train_accuracy:0.82 valid_loss:2.50 valid_accuracy:0.82\n",
      "Epoch 76: train_loss:2.56 train_accuracy:0.83 valid_loss:2.56 valid_accuracy:0.87\n",
      "Epoch 77: train_loss:2.58 train_accuracy:0.77 valid_loss:2.50 valid_accuracy:0.89\n",
      "Epoch 78: train_loss:2.55 train_accuracy:0.83 valid_loss:2.50 valid_accuracy:0.86\n",
      "Epoch 79: train_loss:2.56 train_accuracy:0.88 valid_loss:2.56 valid_accuracy:0.82\n",
      "Epoch 80: train_loss:2.56 train_accuracy:0.83 valid_loss:2.54 valid_accuracy:0.82\n",
      "Epoch 81: train_loss:2.56 train_accuracy:0.79 valid_loss:2.52 valid_accuracy:0.86\n",
      "Epoch 82: train_loss:2.55 train_accuracy:0.82 valid_loss:2.53 valid_accuracy:0.84\n",
      "Epoch 83: train_loss:2.58 train_accuracy:0.79 valid_loss:2.50 valid_accuracy:0.88\n",
      "Epoch 84: train_loss:2.56 train_accuracy:0.80 valid_loss:2.55 valid_accuracy:0.77\n",
      "Epoch 85: train_loss:2.56 train_accuracy:0.82 valid_loss:2.51 valid_accuracy:0.83\n",
      "Epoch 86: train_loss:2.54 train_accuracy:0.84 valid_loss:2.56 valid_accuracy:0.83\n",
      "Epoch 87: train_loss:2.56 train_accuracy:0.85 valid_loss:2.51 valid_accuracy:0.84\n",
      "Epoch 88: train_loss:2.54 train_accuracy:0.82 valid_loss:2.53 valid_accuracy:0.82\n",
      "Epoch 89: train_loss:2.57 train_accuracy:0.82 valid_loss:2.48 valid_accuracy:0.90\n",
      "Epoch 90: train_loss:2.53 train_accuracy:0.82 valid_loss:2.49 valid_accuracy:0.87\n",
      "Epoch 91: train_loss:2.52 train_accuracy:0.90 valid_loss:2.52 valid_accuracy:0.82\n",
      "Epoch 92: train_loss:2.55 train_accuracy:0.83 valid_loss:2.53 valid_accuracy:0.86\n",
      "Epoch 93: train_loss:2.54 train_accuracy:0.86 valid_loss:2.50 valid_accuracy:0.90\n",
      "Epoch 94: train_loss:2.54 train_accuracy:0.84 valid_loss:2.53 valid_accuracy:0.85\n",
      "Epoch 95: train_loss:2.54 train_accuracy:0.84 valid_loss:2.53 valid_accuracy:0.87\n",
      "Epoch 96: train_loss:2.53 train_accuracy:0.84 valid_loss:2.49 valid_accuracy:0.93\n",
      "Epoch 97: train_loss:2.52 train_accuracy:0.82 valid_loss:2.49 valid_accuracy:0.88\n",
      "Epoch 98: train_loss:2.54 train_accuracy:0.84 valid_loss:2.53 valid_accuracy:0.81\n",
      "Epoch 99: train_loss:2.53 train_accuracy:0.86 valid_loss:2.46 valid_accuracy:0.93\n"
     ]
    }
   ],
   "source": [
    "train_loss,train_accuracy=[],[]\n",
    "val_loss,val_accuracy=[],[]\n",
    "test_loss,test_accuracy=[],[]\n",
    "\n",
    "\n",
    "for e in range(total_epochs):\n",
    "    ############################### Training Step ##########################################\n",
    "    total_c_loss, total_accuracy = run_epoch(total_train_batches,'train')\n",
    "    train_loss.append(total_c_loss)\n",
    "    train_accuracy.append(total_accuracy)\n",
    "    \n",
    "    ################################# Validation Step #######################################\n",
    "    total_val_c_loss, total_val_accuracy = run_epoch(total_val_batches, 'val')\n",
    "    val_loss.append(total_val_c_loss)\n",
    "    val_accuracy.append(total_val_accuracy)\n",
    "    print(\"Epoch {}: train_loss:{:.2f} train_accuracy:{:.2f} valid_loss:{:.2f} valid_accuracy:{:.2f}\".\n",
    "          format(e, total_c_loss, total_accuracy, total_val_c_loss, total_val_accuracy))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Now Let's obtain our test accuracy by running the following code block:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "test_accuracy:87.0%\n"
     ]
    }
   ],
   "source": [
    "total_test_c_loss, total_test_accuracy = run_epoch(total_test_batches,'test')\n",
    "print(\"test_accuracy:{}%\".format(total_test_accuracy*100))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### Step 10: Let's visualize our results "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "def plot_loss(train,val,name1=\"train_loss\",name2=\"val_loss\",title=\"\"):\n",
    "    plt.title(title)\n",
    "    plt.plot(train, label=name1)\n",
    "    plt.plot(val, label=name2)\n",
    "    plt.legend()\n",
    "\n",
    "plot_loss(train_loss,val_loss,\"train_loss\",\"val_loss\",\"Loss Graph\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plot_loss(train_accuracy,val_accuracy,\"train_accuracy\",\"val_accuracy\",\"Accuracy Graph\")"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.3"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
